状态: Unaccepted
得分: 60分
测试结果4: 测试结果错误.错误结果为:22835099kao
正确结果应为:16950743
测试结果6: 测试结果错误.错误结果为:163189682kao
正确结果应为:95068146
测试结果7: 测试结果错误.错误结果为:20547747kao
正确结果应为:11144826
测试结果9: 测试结果错误.错误结果为:7281099kao
正确结果应为:6450430
提交代码:
program jiang_jin;
const maxn=11000;
var i,j,k,m,n,o,u:longint;
c:array[0..maxn]of boolean;
a,b,w:array[0..maxn]of longint;
procedure sort(p,q:longint);
var i,j,k,g:longint;
begin
i:=p; j:=q; k:=b[(i+j) shr 1];
repeat
while b[i]<k do inc(i);
while b[j]>k do dec(j);
if i<=j then
begin
g:=b[i]; b[i]:=b[j]; b[j]:=g;
g:=w[i]; w[i]:=w[j]; w[j]:=g;
inc(i); dec(j);
end;
until i>j;
if p<j then sort(p,j);
if i<q then sort(i,q);
end;
begin
read(n,m);
for o:=1 to n do read(b[o],w[o]);
sort(1,n);
fillchar(c,sizeof(c),#0); c[0]:=true;
for j:=0 to m do
if c[j] then
for i:=1 to n do
begin
if j+b[i]>m then break;
if a[j]+w[i]>a[j+b[i]] then
begin c[j+b[i]]:=true; a[j+b[i]]:=a[j]+w[i]; end;
end;
write(a[m]); if b[1]=0 then writeln('kao');
end.
题目很显然,如果存在价格为0的就无解
可是上面几组错的都是价格为0的