546A. Soldier and Bananas
- time limit per test1 second
- memory limit per test256 megabytes
- inputstandard input
- outputstandard output
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).
一名士兵想在商店里买香蕉。他必须为第一根香蕉支付k美元,为第二根香蕉支付2k美元,依此类推(换句话说,他必须为第i根香蕉支付i·k美元)。
He has n dollars. How many dollars does he have to borrow from his friend soldier to buy w bananas?
他有n美元。为了买香蕉,他必须向他的朋友士兵借多少美元?
Input
The first line contains three positive integers k, n, w (1 ≤ k, w ≤ 1000, 0 ≤ n ≤ 10), the cost of the first banana, initial number of dollars the soldier has and number of bananas he wants.
第一行包含三个正整数k, N w (1 ≤ k, w ≤ 1000, 0 ≤ n ≤ 10),第一根香蕉的价格,士兵最初拥有的美元数量和他想要的香蕉数量。
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.
输出一个整数——士兵必须向朋友借的美元金额。如果他不需要借钱,输出0。
Examples
inputCopy
3 17 4
outputCopy
13
Solution
Code
#include <iostream>
using namespace std;
//
int main(){
int k = 0;
int n = 0;
int w = 0;
cin >> k >> n >> w;
int sum = k * ((1 + w)* w / 2);
if(sum <= n){
cout << "0" << endl;
}else{
cout << sum - n << endl;
}
}