题目描述
一年一度的读书节快到了,学校准备举办一场朗读比赛,同学们报名非常踊跃,但是每班只限一名同学参加。那么,该推荐谁呢,这成了一个难题。
根据规则,朗读比赛需要在理解的基础上把一本有N页的书在尽可能短的时间内读完。由于时间紧,在班上举行朗读比赛的预赛已经不太可能。于是作为班长的小明只好根据平时同学们的朗读能力来决定派谁参加。他让同学们自报朗读能力的三个重要指标:朗读的速度S,即每分钟可以读多少页;一次性连续朗读最多坚持的时间T(分钟);一次连续朗读后需要休息的时间为R(分钟)。这三个指标的意思是某位同学可以以S的速度持续朗读T分钟,之后,他必须停下来休息R分钟,休息之后他可以接着再朗读。
你的任务是帮助小明计算某位学读完一本N页书需要多少时间。
输入
第一行包括一个整数N。第二包括三个用空格隔开的三个整数,S,T, R
输出
只有一行,只有一个整数,表示某位同学读完这本书所需的时间。
样例输入 复制
样例输入1
10
2 4 1
样例输入2
10
6 1 5
样例输出 复制
样例输出1
6
样例输出2
7
数据范围限制
1 ≤ S ≤ 100 1 ≤ T ≤ 100 1 ≤ R ≤ 100
80%的数据N<=1,000,000
100%的数据N<=1000,000,000
参考代码:
#include<bits/stdc++.h>
using namespace std;
int n,s,t,r,m,rest,i;
int main()
{
cin>>n>>s>>t>>r;
rest+=n/(s*t)*(t+r);
m+=n/(s*t)*s*t;
if(m==n)
cout<<rest-r;
else
while(m<n)
{
for(i=0;i<t;i++)
{
rest++;
m+=s;
if(m>=n)
{
cout<<rest;
break;
}
}
rest+=r;
}
}