您的位置:首页 > 其它

排队取水

2016-12-08 17:08 281 查看
vari,n,m,j,ans:longint;r:real;a,b,c:array[1..10000] of longint;procedure dp(l,r:longint);vari,j,key,m:longint;beginif l>r then exit;i:=l; j:=r;key:=a[(l+r) div 2];repeatwhile (a[i]<key) do inc(i);while (a[j]>key) do dec(j);if i<=j thenbeginm:=a[i];a[i]:=a[j];a[j]:=m;m:=b[i];b[i]:=b[j];b[j]:=m;inc(i); dec(j);end;until i>j;dp(l,j);dp(i,r);end;beginreadln(n);for i:=1 to n dobeginread(a[i]);b[i]:=i;end;dp(1,n);for i:=1 to n dofor j:=1 to i-1 doc[i]:=c[i]+a[j];for i:=1 to n doans:=ans+c[i];write(trunc((ans/n)*10000+0.5)/10000:0:2);end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: