Description
给出两个数s和e,输出s+…+e
Input
第一行为用例组数t,每组用例占一行包括两个整数s和e(-10^9<=s,e<=10^9)
Output
Sample Input
3
1 100
-11 10
-89173 938749341
Sample Output
Scenario #1:
5050
Scenario #2:
-11
Scenario #3:
440625159107385260
Solution
水题
Code
#include<stdio.h>
typedef long long ll;
int main()
{
int n,res=1;
ll s,e,ss,ee;
scanf("%d",&n);
while(n)
{
scanf("%lld%lld",&s,&e);
ss=s>=0?s:-s;
ee=e>=0?e:-e;
if(s>0&&e>0)
{
ss=(ss-1)*ss/2;
ee=(ee+1)*ee/2;
}
else if(s<=0&&e>=0)
{
ss=(ss+1)*ss/2;
ee=(ee+1)*ee/2;
}
else if(s<0&&e<0)
{
ss=(ss+1)*ss/2;
ee=(ee-1)*ee/2;
}
printf("Scenario #%d:\n",res);
printf("%lld\n\n",ee-ss);
res++;
n--;
}
return 0;
}