419488575 2008-08-03 01:47:00
点我顶贴
收藏
删除
我的代码是
program exale;
var i,j,n:integer;
a,m:byte;
v,s:array[1..25] of word;
p:array[1..25] of byte;
t:array[1..10000] of longint;
begin
readln(n,m);
for a:=1 to m do
begin
readln(v[a],p[a]);
s[a]:=v[a]*p[a];
end;
fillchar(t,sizeof(t),0);
for i:=1 to m do
for j:=n downto 1 do
begin
if (v[i]<=j) and (t[j-v[i]]+s[i]>t[j]) then
t[j]:=t[j-v[i]]+s[i];
end;
write(t[n]);
end.
#3 wish@2008-08-02 07:00:00
3165
回复
删除
t:array[1..10000] of longint;
改成:
t:array[0..10000] of longint;
#4 419488575@2008-08-03 01:28:00
3220
回复
删除
不是
按你们说的改了之后
还是
测试结果1: 通过本测试点|有效耗时172:ms
测试结果2: 通过本测试点|有效耗时63:ms
测试结果3: 通过本测试点|有效耗时63:ms
测试结果4: 通过本测试点|有效耗时62:ms
测试结果5: 运行错误|普通保护错误
测试结果6: 运行错误|普通保护错误
测试结果7: 运行错误|普通保护错误
测试结果8: 运行错误|普通保护错误
测试结果9: 运行错误|普通保护错误
测试结果10: 通过本测试点|有效耗时63:ms