讨论 / 为什么出这么纠结的错误?
xywrbs 2010-10-29 19:51:00
点我顶贴 收藏 删除
program aa;

type arr=array[0..100000] of longint;

var n,i,j,sum,x,y:longint;

a,d:array[0..100000] of longint;

procedure qsort(var a:arr; l,r:longint);

var i,j,mid,temp:longint;

begin

i:=l;

j:=r;

mid:=a[(i+j) div 2];

repeat

while a[i]<mid do inc(i);

while a[j]>mid do dec(j);

if i<=j then

begin

temp:=a[i];

a[i]:=a[j];

a[j]:=temp;

inc(i);

dec(j);

end;

until i>j;

if i<r then qsort(a,i,r);

if l<j then qsort(a,l,j);

end;

begin

while true do

begin

fillchar(a,sizeof(a),0);

fillchar(d,sizeof(d),0);

sum:=0;

readln(n);

if n<>0 then

begin

for i:=1 to n do read(d[i]);

readln;

for i:=1 to n do read(a[i]);

readln;

qsort(a,1,n);

qsort(d,1,n);

end

else halt;

x:=0;

i:=n; j:=n;

//for i:=1 to n do writeln(a[i]);

repeat

if a[i]>d[j] then

begin dec(sum,200); inc(x); d[x]:=-1; a[i]:=-1; dec(i); end;

if d[j]>a[i] then

begin

d[j]:=-1;

inc(sum,200);

dec(j);

dec(i);

inc(y);

end;

if a[i]=d[j] then

begin dec(j); dec(i); inc(y); end;

until x+y>=n;

writeln(sum);

end;

end.

样例都过了,可是WA0分,全部都是类似这样的错误

测试结果错误.错误结果为:200

0

0

0

0

正确结果应为:200

0

1600

1800

12000

是不是我的初始化错了?

请各位牛赐教!

查看更多回复
提交回复