所有车子到达的总时间算出来,然后从小到大排序,如果:1. 开始时间 < 0 的,不予考虑,太快的赶不上,太慢的赶上也没用。2. 开始时间 > 0 的,Charley 和最早到达的车子一起到达。还有一种就是如果就是Charley一个人的时候,那么就按照他自己的速度达到目的地
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
typedef struct
{
int v;
int settime;
int time;
}person;
person p[];
int cmp(const void *a,const void *b)
{
person *c=(person *)a;
person *d=(person *)b;
return c->time>d->time;
}
int main(void)
{ int n,i;
while(scanf("%d",&n)!=EOF&&n!=)
{
for(i=;i<n;i++)
{
scanf("%d%d",&p[i].v,&p[i].settime);
p[i].time=ceil((double)p[i].settime+(4.5/p[i].v)*);/*ceil 0.1以上都进1*/
}
qsort(p,n,sizeof(person),cmp);
for(i=;i<n;i++)
{
if(p[i].settime>=)
{
printf("%d\n",p[i].time);
break;
}
}
}
return ;
}