记录编号 99863 评测结果 AAAAAAAAAA
题目名称 741.[网络流24题] 负载平衡 最终得分 100
用户昵称 (ˇˍˇ) ~耶稣 是否通过 通过
代码语言 Pascal 运行时间 0.002 s
提交时间 2014-05-01 19:33:05 内存使用 0.17 MiB
显示代码纯文本
var
   a,s:array[0..105]of longint;
   ave,sum,mid,n,i,j,ans,t:longint;

procedure qsort(l,r:longint);
 var i,j,xx:longint;
 begin
  i:=l; j:=r;
  xx:=s[(l+r)>>1];
  repeat
   while s[i]<xx do inc(i);
   while s[j]>xx do dec(j);
    if i<=j then
     begin
      if i<>j then
       begin
	s[i]:=s[i] xor s[j];
	s[j]:=s[i] xor s[j];
	s[i]:=s[i] xor s[j];
       end;
      inc(i); dec(j);
     end;
  until i>j;
  if l<j then qsort(l,j);
  if i<r then qsort(i,r);
 end;

function abs(x:longint):longint;
 begin
  if x>0 then exit(x);
  exit(-x);
 end;

begin
assign(input,'overload.in'); reset(input);
assign(output,'overload.out'); rewrite(output);

  readln(n);
  sum:=0;
  for i:=1 to n do
   begin
    read(a[i]);
    sum:=sum+a[i];
   end;
  ave:=sum div n;
  s[0]:=0;
  for i:=1 to n do
   s[i]:=s[i-1]+a[i]-ave;
  qsort(1,n-1);
  mid:=s[n div 2];
  ans:=abs(mid);
  for i:=1 to n-1 do
   ans:=ans+abs(s[i]-mid);
  writeln(ans);
  readln;
close(input); close(output);
end.