program harry;
var
f:array[0..10000,0..10000] of longint;
v,w:array[1..5000]of integer;
n,i,j,t:integer;
function max(x,y:longint):longint;
begin
if x>y then max:=x
else max:=y;
end;
begin
readln(t,n);
for i:=1 to n do readln(w[i],v[i]);
for i:=1 to t do f[0,i]:=0;
for i:=1 to n do f[i,0]:=0;
for i:=1 to n do
for j:=1 to t do
if j>=w[i] then
f[i,j]:=max(f[i-1,j-w[i]]+v[i],f[i-1,j])
else f[i,j]:=f[i-1,j];
writeln(f[n,t]);
end.
结果只有50分
3错
2超时
n,m,i,j,a,b:longint;
f:array[0..15000] of longint;
begin
readln(n,m);
for i:=1 to m do
begin
readln(a,b);
for j:=n downto a do if f[j-a]+b>f[j] then f[j]:=f[j-a]+b;
end;
writeln(f[n]);
end.
自己看吧..数据规模大了很多当然超时..还有..不要乱用函数.速度比if慢。
测评机: Virmain[1]
得分: 10分
提交日期: 2008-6-9 21:09:00
有效耗时: 该状态没有记录
测试结果1: 无输出|运行超时
测试结果2: 无输出|运行超时
测试结果3: 测试结果正确
测试结果4: 运行错误|普通保护错误
测试结果5: 运行错误|普通保护错误
测试结果6: 运行错误|普通保护错误
测试结果7: 运行错误|普通保护错误
测试结果8: 运行错误|普通保护错误
测试结果9: 运行错误|普通保护错误
测试结果10: 无输出|运行超时
用的是采药的程序
郁闷~~~~~~~~~~