How to save time ???

如何解决超时问题?

img

img

#include
using namespace std;
int main()
{
long long int n=0;
while(scanf("%I64d",&n)){
long long int m=0;
if(n<1 || n>1.0e+012){
break;
}
if(n%2)
{
m=((n+1)/2)*(-1);
printf("%I64d\n",m);
}
else{
m=n/2;
printf("%I64d\n",m);
}
}
return 0;
}

判断输入值是奇数还是偶数。如果是偶数,结构就是n/2,如果是奇数,那么结果为n*-1 + (n-1)/2

int main()
{
    long long n;
    cin>>n;
    if(n%2==0)
        cout<<n/2;
    else
        cout<<n*-1 + (n-1)/2;
    return 0;
}

我觉得是不是因为你输入了n次,和一次输入n个数花费的时间不一样呢?