记录编号 |
27463 |
评测结果 |
AAAAAAAAAA |
题目名称 |
护卫队 |
最终得分 |
100 |
用户昵称 |
magic |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.018 s |
提交时间 |
2011-09-23 22:04:20 |
内存使用 |
0.34 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#define maxlong 10000000
using namespace std;
double w[1005];
double v[1005];
double f[1005];
double wei,len;
int n;
double ans;
int main()
{
freopen("convoy.in","r",stdin);
freopen("convoy.out","w",stdout);
scanf("%lf%lf%d",&wei,&len,&n);
for (int i=1;i<=n;i++)
{
scanf("%lf%lf",&w[i],&v[i]);
//printf("%0.0f %0.0f\n",w[i],v[i]);
w[i]+=w[i-1];
}
f[0]=0;
f[1]=(len/v[1])*60;
//cout<<f[1]<<endl;
for (int i=2;i<=n;i++)
{
f[i]=f[i-1]+(len/v[i])*60;
double sv;
sv=v[i];
for (int j=i-1;j>=1;j--)
{
if (v[j]<sv)
{
sv=v[j];
}
if (w[i]-w[j-1]<=wei)
{
if (f[i]>f[j-1]+(len/sv)*60)
{
f[i]=f[j-1]+(len/sv)*60;
}
}
}
}
printf("%0.1lf\n",f[n]);
return 0;
}