【问题描述】 小希最近找到了大公司的客户经理的新工作,每天工作时间为 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;
}