讨论 / FP AC答案
xtc820 2014-07-22 19:15:42
点我顶贴 收藏 删除
var n,m,i,j:longint;

v,p,a:array[0..25] of longint;

s:array[0..30000] of longint;

function max(x,y:longint):longint;

begin

if x>y then max:=x else max:=y;

end;

begin

readln(n,m);

for i:=1 to m do

begin

readln(v[i],p[i]);

a[i]:=v[i]*p[i];

end;

for i:=1 to m do

begin

for j:=n downto v[i] do

s[j]:=max(s[j],s[j-v[i]]+a[i]);

end;

writeln(s[n]);

end.

#1 xtc820@2014-07-22 19:16:30
回复 删除
此题超水,是人都会
#2 xtc820@2014-07-22 19:16:38
回复 删除
一次AC
#3 vook@2014-07-22 19:52:10
回复 删除
可以少开一个数组

#4 xiaotianer@2016-01-14 05:10:34
回复 删除
A了
查看更多回复
提交回复