【数组测试题9】朗读比赛(recite)

题目描述
一年一度的读书节快到了,学校准备举办一场朗读比赛,同学们报名非常踊跃,但是每班只限一名同学参加。那么,该推荐谁呢,这成了一个难题。
根据规则,朗读比赛需要在理解的基础上把一本有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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值