想通了就会发现这是一道大水题。
不管中间过程如何,Charley一定是最早到达的,而且是并列,所以只需要求里面出发时间非负最早到达的时间即可。
看了disscuss才知道。。。唉。
这个题还是说明思路要灵活,从另外的角度看问题。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int N;
while(scanf("%d",&N)&&N)
{
double v,t;
double ans=9999999999;
for(int i=0;i<N;++i)
{
scanf("%lf%lf",&v,&t);
if(t<0) continue;
double res=4.5/v*3600+t*1.0;
ans=min(res,ans);
}
printf("%.0lf\n",ceil(ans));
}
return 0;
}