CF 546A Soldier and Bananas
Descripe
A soldier wants to buy w bananas in the shop. He has to pay k dollars for the first banana, 2k dollars for the second one and so on (in other words, he has to pay i·k dollars for the i-th banana).
He has n dollars. How many dollars does he have to borrow from his friend soldier to buy w bananas?
Input
The first line contains three positive integers k, n, w (1 ≤ k, w ≤ 1000, 0 ≤ n ≤ 109), the cost of the first banana, initial number of dollars the soldier has and number of bananas he wants.
Output
Output one integer — the amount of dollars that the soldier must borrow from his friend. If he doesn't have to borrow money, output 0.
Sample test(s)
Input
3 17 4
Output
13
Div2 A, 简单模拟计算
CODE:
#include <iostream> #include <cstdio> #include <cstring> #define REP(i, s, n) for(int i = s; i <= n; i ++) #define REP_(i, s, n) for(int i = n; i >= s; i --) using namespace std; int main(){ int k, n, w; scanf("%d%d%d", &k, &n, &w); int sum = 0; REP(i, 1, w) sum += i * k; if(sum > n) printf("%d\n", sum - n); else printf("0\n"); return 0; }