POJ 1922 Ride to School#贪心

(~ ̄▽ ̄)~*

//C跟着a君骑,然后更快的b君来了,C又跟着b君骑,
//接着最快的d君来了,C就去跟着d君了,
//最后最快的d君到达目的地时,C也就到了
//所以C的到达时间,就是最早到达的那个人的到达时间
//tips:但是,ti为负数者,速度又快的话,那C是永远追不上的
//所以结果应该是ti为正,即在C后才出发,的最快者所用时
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;

int main()
{
    int n;
    while(scanf("%d",&n)&&n)
    {
        int v,t;
        int res=10e8;
        while(n--)
        {
            scanf("%d%d",&v,&t);
            if(t>=0)//注意要>=0,如果是>0会WA,因为有可能C就是最快的那个
            {
                int T=ceil(4.5*3600/v+t);//比int T=(int)ceil(16200.0/v)+t;要快..好像也差不多 感觉要看看oj的心情
                res=min(res,T);
            }
        }
        printf("%d
",res);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/atmacmer/p/5223857.html