您的位置:首页 > 其它

2015 HUAS Provincial Select Contest #1 A

2015-07-16 19:25 253 查看
题目:

Description

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.

题目大意:第i个香蕉的价格是ik元,求总共的价钱

算法用等差数列的求和公式:(1+i)*i/2;

代码:

#include<iostream>
using namespace std;
int main()
{
int k,w,n,sum,b,price;
while(cin>>k>>n>>w)
{
if(k>=1&&w<=1000&&n>=0&&n<=1000000000)
{
sum=(1+w)*w/2;
price=sum*k;
if(price>n)
{
b=price-n;
printf("%d\n",b);
}
else printf("0\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: