For a positive integer n let’s define a function f:
f(n) = - 1 + 2 - 3 + … + ( - 1)nn
Your task is to calculate f(n) for a given integer n.
Input
The single line contains the positive integer n (1 ≤ n ≤ 1015).
Output
Print f(n) in a single line.
Examples
inputCopy
4
outputCopy
2
inputCopy
5
outputCopy
-3
Note
f(4) = - 1 + 2 - 3 + 4 = 2
f(5) = - 1 + 2 - 3 + 4 - 5 = - 3
第一次超时代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
int f=-1;
int j;
cin>>n;
for(int i=2;i<=n;i++)
{
if(i%2==0)
{
j=1;
}
else
{
j=-1;
}
f=f+j*i;
}
cout<<f<<endl;
return 0;
}
第二次AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin>>n;
if(n%2==0)
{
n=n/2;
}
else
{
n=(n/2)-n;
}
cout<<n<<endl;
return 0;
}
注意规律!!!!!!!!直接暴力解决必然时间超限