讨论 / 求改 最后一个点过不去
zengyanjie1999 2012-01-26 02:17:00
点我顶贴 收藏 删除
program jieshui;

var a,b,t:array[0..100000]of longint;

i,n,j:longint;

ans,k:real;

c:array[0..1000000]of boolean;

procedure qsort(l,r:longint);

var i,j,k,m:longint;

begin

i:=l;

j:=r;

m:=b[(i+j) div 2];

repeat

while b[i]<m do inc(i);

while b[j]>m do dec(j);

if i<=j then begin

k:=b[i];

b[i]:=b[j];

b[j]:=k;

inc(i);

dec(j);

end;

until i>j;

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

if j>l then qsort(l,j);

end;

begin

readln(n);

for i:=1 to n do

begin

read(a[i]);

b[i]:=a[i];

c[i]:=true;

end;

qsort(1,n);

ans:=0;

for i:=1 to n do

begin

t[i]:=t[i-1]+b[i-1];

for j:=1 to n do

if (a[j]=b[i]) and (c[j]=true) then

if i=n then writeln(j)

else

begin

write(j,' ');

c[j]:=false;

end;

end;

writeln;

for i:=1 to n do k:=k+t[i];

ans:=k/n;

write(ans:0:2);

end.

#1 prime@2012-01-26 02:17:00
回复 删除
最后一个数据错误,最后有一个0,题里面说了t>0的
查看更多回复
提交回复