1 solutions
-
0
C++ :
#include<iostream> #include<algorithm> using namespace std; const int N(5005); int t[N],f[N],c[N]; //ifstream cin("batch.in"); //ofstream cout("batch.out"); int main() { int n,s; cin>>n>>s; for (int i=1;i<=n;i++) { cin>>t[i]>>f[i]; t[i]+=t[i-1]; f[i]+=f[i-1]; } fill(c+1,c+n+1,0x7fffffff); for (int k=1;k<=n;k++) for (int i=1;i<=k;i++) c[k]=min(c[k],c[i-1]+s*(f[n]-f[i-1])+t[k]*(f[k]-f[i-1])); cout<<c[n]<<endl; return 0; }
Pascal :
var n,s,i,k:longint; t:array[0..5005]of longint; f:array[0..5005]of longint; c:array[0..5005]of longint; begin readln(n); readln(s); for i:=1 to 5004 do c[i]:=10000; for i:=1 to n do begin read(t[i],f[i]); t[i]:=t[i-1]+t[i]; f[i]:=f[i-1]+f[i]; end; for k:=1 to n do for i:=1 to k do if(c[k]>c[i-1]+s*(f[n]-f[i-1])+t[k]*(f[k]-f[i-1])) then c[k]:=c[i-1]+s*(f[n]-f[i-1])+t[k]*(f[k]-f[i-1]); writeln(c[n]); readln; readln; end.
- 1
Information
- ID
- 736
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By