您的位置:首页 > 其它

codevs1025

2015-07-18 12:09 218 查看
题目地址:http://codevs.cn/problem/1025/

分析:

背包

代码:

var

a,b,w,c,f:array[0..2000]of longint;

n,m,x,i,k,u:longint;s:real;

begin

readln(n,m,s);x:=round(s*10);

for i:=1 to n do

begin

read(s);

a[i]:=round(10*s);

end;

for i:=1 to n do read(b[i]);

for i:=1 to n do

begin

read(k);

w[k]:=a[i];c[k]:=b[i];

end;

for i:=1 to m do

begin

read(k);u:=u+c[k];x:=x-w[k];c[k]:=-1;

end;

for i:=1 to n do

for k:=x downto w[i] do

if f[k-w[i]]+c[i]>f[k] then f[k]:=f[k-w[i]]+c[i];

writeln(f[x]+u);

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: