"开心的金明"10个点过了9个点,帮我找找错误
以下是源程序:
var
a,b,n,m,he,zhi,zhi1:longint;
v,p:array[1..24]of longint;
pai1,pai2:array[1..24,1..3] of longint;
guodu:array[1..3]of longint;
begin
assign(input,'happy.in');
assign(output,'happy.out');
reset(input);
rewrite(output);
read(n,m);
for a:=1 to m do
readln(v[a],p[a]);
for a:=1 to m do
begin
pai2[a,1]:=a; pai2[a,2]:=v[a]; pai2[a,3]:=p[a];
pai1[a,1]:=a; pai1[a,2]:=v[a]; pai1[a,3]:=p[a];
end;
for a:=1 to m do
for b:=1 to m do
begin
if pai1[a,3]>pai1[b,3] then begin guodu:=pai1[a];pai1[a]:=pai1[b];pai1[b]:=guodu;end
else if pai1[a,3]=pai1[b,3] then if pai1[a,2]>pai1[b,2] then begin guodu:=pai1[a];pai1[a]:=pai1[b];pai1[b]:=guodu; end;
end;
for a:=1 to m do
begin
if he+pai1[a,2]<=n then begin he:=he+pai1[a,2]; zhi:=zhi+pai1[a,2]*pai1[a,3];
end;
end;
he:=0;
for a:=1 to m do
for b:=1 to m do
begin
if pai2[a,3]>pai2[b,3] then begin guodu:=pai2[a];pai2[a]:=pai2[b];pai2[b]:=guodu;end
else if pai2[a,3]=pai2[b,3] then if pai2[a,2]<pai2[b,2] then begin guodu:=pai2[a];pai2[a]:=pai2[b];pai2[b]:=guodu; end;
end;
for a:=1 to m do
begin
if he+pai2[a,2]<=n then begin he:=he+pai2[a,2]; zhi1:=zhi1+pai2[a,2]*pai2[a,3];
end;
end;
{for a:=1 to m do
writeln(pai1[a,1],' ',pai1[a,2],' ',pai1[a,3]);
writeln;
for a:=1 to m do
writeln(pai2[a,1],' ',pai2[a,2],' ',pai2[a,3]);}
if zhi<zhi1 then zhi:=zhi1;
write(zhi);
close(input);
close(output);
end.