题目链接:http://codeforces.com/contest/1080/problem/B
题意:定义 (-1)+ 2 + (-3) + 4 +(-5) + 6 + (-7) + …… = sum,给出起始位置 l ,和终止位置 r 求 sum
题解:求个 1加到 r 和 1 加到 l 然后 相减,就是答案。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long q;
scanf("%lld",&q);
while(q--){
long long l,r;
scanf("%lld%lld",&l,&r);
long long ans1 = 0;
if(l%2 == 0){
ans1 = l/2;
}
else {
ans1 = l/2 - (l-1);
}
long long ans2 = 0;
if(r % 2 == 0){
ans2 = r/2;
}
else {
ans2 = r/2 - r;
}
// cout << ans1 << " " << ans2 << endl;
printf("%lld\n",ans2+ans1);
}
}