Codeforces Round #514 (Div. 2) A. Cashier(模拟)

题目大意:Vasya 一天工作L个小时,给出n组客人来的时间和Vasya需要进行服务的时间ai,ti,题目保证li+ti<=ti+1,有给出Vasya的抽烟时间a,求他在工作之余能抽几次烟.
题目链接:http://codeforces.com/contest/1059/problem/A
题目思路:因为给出的区间是连续的,所以对每个区间单独进行判断即可。
c++代码:

#include <iostream>

using namespace std;

const int maxn=1e5+6;

int t[maxn],l[maxn];

int main() {
	int n,L,a;
	cin >> n >> L >> a;
	for(int i=0;i<n;i++) {
		cin >> t[i] >> l[i];
	}
	int ans=0;
	if(t[0]/a>0)ans+=t[0]/a;
	for(int i=0;i<n-1;i++) {
		int x=t[i+1]-(t[i]+l[i]);
		ans+=x/a;
	}
	ans+=(L-(t[n-1]+l[n-1]))/a;
	cout << ans << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39475280/article/details/82948868