如何解决超时问题?
#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个数花费的时间不一样呢?