题目链接:F-东东:“来不及解释了,快上车!!”
题目描述:
东东要上学了!
东东要去他家路口的公交车站等车!!!
东东从家出发,需要 d 分钟到达公交站台。
已知有 n 班公交车,第 i 路公交车在 a_i 分钟到达公交站台,随后每 b_i 分钟会有该路公交车。
东东想着他要迟到了!!!可恶!!!要迟到了!!于是他看见了一辆公交车来了,立马跳上了这辆"他见到的"第一辆公交车。
东东上车后发现了一个问题!!这不是去幼儿园的车!!!!可惜车门已经焊死。
那么问题来了东东上的是第几路车?
Input:
第一行输入路线数n和东东到达的时间d(1≤n≤100,1≤d≤1e5)
接下来n行,每行两个数字a_i和b_i(1≤a_i,b_i≤1e5),分别为该路公交首辆车到达的时间和两辆车之间的发车间隔
如果有多种可能,输出一种
Output:
东东所上车的公交车的路线编号。
Sample Input:
5 5
3 3
2 5
5 6
4 9
6 1
Sample Output:
3
思路:
数据量比较小,只需要把每个公交车出发的时间点都从统一的时间开始,然后遍历直到出现东东能坐上车的情况,输出一种即可。
代码:
#include<iostream>
using namespace std;
int n,d,a[110],b[110],num,maxn=1e6;
int main(){
cin>>n>>d;
for(int i=0;i<n;i++)
cin>>a[i]>>b[i];
for(int i=0;i<n;i++){
while(a[i]<d){
a[i]+=b[i];
}
if(a[i]<maxn){
maxn=a[i];
num=i;
}
}
cout<<num+1<<endl;
return 0;
}