【练习四 数组(强化) 编程题 11. 小希的新工作 】

【问题描述】 小希最近找到了大公司的客户经理的新工作,每天工作时间为 L 分钟,他主要为 n 个固定的高端客人服务,第 i 个客人会在第 ti 分钟到来,他需要为其服务 li 分钟,在此期间不会有其他客人到来。 他喜欢在工作的间隙放松一下,喝杯咖啡,或者做做简单的运动,每次需要 a 分钟的时间,如果可以,这样惬意的事情他能够连续做好多次。但在有顾客的时间里,他必须在工作岗位上,否则,他会被投诉。那么,在一天的工作时间之内,他最多有几次这样轻松的时光? 【输入形式】 输入的第一行包含3个整数 n、L 和 a。 接下来的 n 行,每行两个整数 ti 和 li,分别表示第i个客人到来的时间和需要服务的时间,输入保证 ti+li ≤ ti+1

【输出形式】 输出为一个整数,表示小希在一天的工作时间内最多可以放松多少次?

【样例输入】

2 11 3

0 1

1 1

【样例输出】 3

【样例说明】

每天都是全新的一天,昨天的工作不影响今天哟!

【评分标准】

【说明】注意第一个客人前也许也可以放松

#include <iostream>

using namespace std;

int main()
{
    int n,L,i,t,k=0;
    cin>>n>>L>>t;
    int*a=new int[n];
    int*b=new int[n];
    for(i=0;i<n;i++)
    {
        cin>>a[i]>>b[i];
    }
    for(i=1;i<n;i++)
    {
        if(a[i]-a[i-1]-b[i-1]>t)//判断两个客人间是否可以休息
        {
            k++;
        }
        else{;}
    }
    L-=a[n-1]+b[n-1];//减去最后一个客人还剩下的时间
    k+=L/t;
    if(a[0]>t)//判断第一个客人前是否可以休息
    {
        k++;
    }
    else{;}
    cout<<k;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值