牛客寒假算法基础集训营6 B 煤气灶

链接:https://ac.nowcoder.com/acm/contest/332/B
来源:牛客网

小j开始打工,准备赚钱买煤气灶。
第一天,小j的工资为n元,之后每天他的工资都比前一天多d元。
已知煤气灶需要m元,求小j最少工作几天才能买到煤气灶。

输入描述:

四个整数 n,m,d,x
分别表示小j第一天的工资,煤气灶的价格,工资每天的增长量,答案不超过x

输出描述:

一个数表示答案
示例1

输入

复制
10 100 20 100

输出

复制
4

说明

10+30+50+70>=100

备注:

0n,d109,n+d>00≤n,d≤109,n+d>0
1m10181≤m≤1018
1x109

这题我刚做的时候发现竟然很多人wa,,后来一看发现是他们
就把他当成简单的等差数列了。。不仔细看题的锅
其实是一个工资每天增加的。。
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn=1e5+10;
 5 int main()
 6 {
 7     ll k=0;///每天的工资
 8     ll ans,sum=0;///sum为得到的钱总数
 9     ll n,m,d,x;
10     cin>>n>>m>>d>>x;
11     k=n;
12     for(int i=1;; i++)
13     {
14         sum+=k;
15         if(sum>=m)///先判断一波
16         {
17             ans=i;
18             break;
19         }
20         k+=d;///每天的工资增加
21     }
22     cout<<ans<<endl;
23     return 0;
24 }

猜你喜欢

转载自www.cnblogs.com/tp25959/p/10349021.html