题目描述
科丁乐的很多工作人员住在一个叫Kzon的地方,住所距离办公室是4.5KM,由于交通堵塞严重,许多工作人员选择骑自行车上班。这些工作人员中除了小科外,其他人都以固定的速度从住所骑到办公室,但是小科骑车有个特殊的习惯,他总是喜欢骑车的时候跟随着其他人,从而避免单独骑行。当小科达到Kzon大门时,他会找一个正在前往办公室的人,如果他找到了某人,他将跟随这个人,如果没有他会一直等待有人跟随,在从住所到办公室的路上,如果一个更快的人超过了小科,他将随时离开他正在跟随的骑手并加快速度跟随更快的骑手。
我们假设小科达到Kzon门口的时间是0,给出其他人的出发时间和速度,你的任务是计算出小科达到办公室的时间。
输入格式
输入包含多组测试数据。
对于每组测试数据:
第一行,是一个整数N(1≤N≤10000),表示其他工作人员的数量(不包括小科)。当N=0时表示测试数据输入结束。
接下来N行,每行是空格隔开的整数Vi Ti,Vi是≤40的正整数,表示第i个骑手的速度,单位是KM/H(KM每小时)。Ti是第i个选手出发的时间,单位是秒。数据保证存在非负的Ti
输出格式
对于每组测试数据,输出小科到达办公室的时间,结果向上取整
输入输出样例
输入样例1:
420 025 -15527 19030 240221 022 340
输出样例1:
780771
【耗时限制】1000ms 【内存限制】128MB
//
//Created by Carlgood.
//
#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<sstream>
using namespace std;
int main()
{double dis=4.5,INF=1e9;int n,v,t;while(cin>>n&&n){int ans=INF;for(int i=1;i<=n;i++){cin>>v>>t;if(t<0) continue;int arr=ceil(t+dis/v*3600);ans=min(ans,arr);}cout<<ans<<endl;}return 0;
}