1 solutions
-
0
C++ :
#include<iostream> #include<algorithm> #include<cstdio> using namespace std; const int N(1005); int w[N],v[N]; double f[N]; int main() { // freopen("convoy.in","r",stdin); // freopen("convoy.out","w",stdout); int W,s,n; scanf("%d%d%d",&W,&s,&n); //cin>>W>>s>>n; w[0]=0; for (int i=1;i<=n;i++) { scanf("%d%d",&w[i],&v[i]); //cin>>w[i]>>v[i]; w[i]+=w[i-1]; } fill(f+1,f+n+1,0x7fffffff); f[0]=0; for (int i=1;i<=n;i++) for (int j=1,minv=v[i];j<=i&&w[i]-w[i-j]<=W;j++) f[i]=min(f[i],f[i-j]+s/(double)(minv=min(minv,v[i-j+1]))); printf("%.1lf\n",f[n]*60); // system("pause"); return 0; }
- 1
Information
- ID
- 739
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By