377. 護衛隊
★☆ 輸入文件:convoy.in
輸出文件:convoy.out
簡單對比時間限制:1 s 內存限制:128 MB
#include <iostream>
#include <cstdio>
using namespace std;
#define MAX_N 1000
#define INF 9999999999999999
long long w,s,n;
double dp[MAX_N];
long long we[MAX_N],ve[MAX_N];
int main()
{
freopen("convoy.in","r",stdin);
freopen("convoy.out","w",stdout);
scanf("%ld%ld%ld",&w,&s,&n);
for(int i=1;i<=n;i++)
scanf("%ld%ld",&we[i],&ve[i]);
for(int i=1;i<=n;i++)
{
dp[i]=INF;
long long sumwe=0;
double minv=INF;
for(int j=i;j>=1 && sumwe+we[j]<=w;j--)
{
sumwe+=we[j];
minv=min(minv,ve[j]/60.0);
dp[i]=min(dp[i],dp[j-1]+s/minv);
}
}
printf("%.1lf\n",dp[n]);
return 0;
}