记录编号 119101 评测结果 AAAAAAAAAA
题目名称 护卫队 最终得分 100
用户昵称 Gravatarraywzy 是否通过 通过
代码语言 C++ 运行时间 0.026 s
提交时间 2014-09-11 10:20:33 内存使用 0.33 MiB
显示代码纯文本
#include<fstream>
#include<iomanip>
using namespace std;
ifstream fin("convoy.in");
ofstream fout("convoy.out");
const long long INF=0xFFFFFFF;
class woca
{
    public:
        long long a,b;
}F[1001];
double P[1001];
long long W,M,N;
int main()
{
    fin>>W>>M>>N;//最大承重量和长度
    int i,j;
    long long temp=0;
    long long MIN=INF;
    for(i=1; i<=N; i++)
        fin>>F[i].a>>F[i].b;
   P[0]=0.0;
    for(i=1; i<=N; i++)
    {
        temp=0;
        MIN=F[i].b;
        P[i]=P[i-1]+(M*1.0)/(F[i].b*1.0);
        temp+=F[i].a;
        for(j=i-1; j>=0; j--)
        {
            if(temp>W)break;
            if(P[j]+(M*1.0)/(MIN*1.0)<P[i])
                P[i]=P[j]+(M*1.0)/(MIN*1.0);
            temp+=F[j].a;
            if(F[j].b<MIN)MIN=F[j].b;
        }
    }
    fout<<setiosflags(ios::fixed)<<setprecision(1)<<P[N]*60.0<<endl;
    return 0;
}