1 条题解
-
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
信息
- ID
- 761
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者