CF 546A Soldier and Bananas

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  ≤  10000 ≤ 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.

Examples
input
3 17 4
output
13

题目大意:有三个数字 k w n , k代表要买k份水果,但是从1~w的k是变为1k,                              2k。。。等然后现在有n块大意就是还差多钱;


题解:把k提出来,得到一个等差数列,化简 cost = k * (w*w - w) / 2 得到总花费,然              后用总花费减去现在的就是还缺的,特判如果为负数那么就是0 (钱够了);


AC代码:

#include <bits/stdc++.h>
using namespace std ;
int main()
{
    int n , w , k ;
    cin>>k>>n>>w;
    int cost ;
    cost = k*(w*w+w)/2;
    int mini ;
    mini = cost - n ;
    if(mini<=0)  printf("0\n");
    else cout<<mini<<endl;
    return 0 ;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kelisita

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值