开long long
```cpp
#include<cstdio>
#include<cstring>
#define max(x,y) ((x)>(y)?(x):(y))
#define min(x,y) ((x)<(y)?(x):(y))
int ws,l,n;
long long sum[1001];
int a[1001],b[1001];
int p[1001][1001];//以j开始到i的最慢速度
double f[1001];
int main()
{
memset(p,127,sizeof(p));
memset(f,127,sizeof(f));
f[0]=0;
scanf("%d %d %d",&ws,&l,&n);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&a[i],&b[i]);
sum[i]=sum[i-1]+a[i];
p[i][i]=b[i];
for(int j=1;j<i;j++)
p[j][i]=min(p[j][i-1],b[i]);
}
/*for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
printf("%d ",p[i][j]);
printf("\n");
}*/
for(int i=1;i<=n;i++)
for(int k=1;k<=i;k++)
if(sum[i]-sum[k-1]<=ws)
f[i]=min(f[i],f[k-1]+(double)l/p[k][i]*60);
printf("%.1lf",f[n]);
}
```
by Mark_ZZY @ 2017-06-11 17:14:39
要开long long的
by Rolston @ 2018-05-12 12:05:50