Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 7873 | Accepted: 3530 |
Description
Johann Carl Friedrich Gauß (1777 – 1855) was one of the most important German mathematicians. For those of you who remember the Deutsche Mark, a picture of him was printed on the 10 – DM bill. In elementary school, his teacher J. G. Büttner tried to occupy the pupils by making them add up the integers from 1 to 100. The young Gauß surprised everybody by producing the correct answers (5050) within seconds.
Can you write a computer program that can compute such sums really quickly?
Given two integers n and m, you should compute the sum of all the integers from n to m. In other words, you should compute
Input
The first line contains the number of scenarios. Each scenario consists of a line containing the numbers n and m (−109 ≤ n ≤ m ≤ 109).
Output
The output for every scenario begins with a line containing “Scenario #i:”, where i is the number of the scenario starting at 1. Then print the sum of all integers from n to m. Terminate the output for the scenario with a blank line.
Sample Input
3 1 100 -11 10 -89173 938749341
Sample Output
Scenario #1: 5050 Scenario #2: -11 Scenario #3: 440625159107385260
Source
#include <cstdio> #include <cstdlib> #include <cstring> int main(void){ int ii, casenum; __int64 n, m, i; __int64 sum; scanf("%d", &casenum); for (ii = 1; ii <= casenum; ii++){ scanf("%I64d%I64d", &n, &m); if (n > m){ i = m; m = n; n = i; } sum = (n + m) * (m - n + 1) / 2; printf("Scenario #%d:\n%I64d\n\n", ii, sum); } return 0; }