Cod sursa(job #61106)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 18 mai 2007 12:56:06
Problema Medie Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.68 kb
var a:array[1..9000] of integer;
    b:array[1..7000] of longint;
    f,g:text;
    n,max,i,j:longint;
    nr:int64;
procedure citesc;
 begin
  assign(f,'medie.in'); reset(f);
  read(f,n);
  for i:=1 to n do begin
   read(f,a[i]);
   inc(b[a[i]]);
  end;
  close(f);
 end;
begin
 assign(g,'medie.out'); rewrite(g);
 citesc;
 nr:=0;
 for i:=1 to n-1 do begin
  j:=i;
  while j<n do begin
   inc(j);
   if (a[i]+a[j]) and 1=0 then
    if a[i]=a[j] then
     inc(nr,b[a[i]]-2)
    else begin
     inc(nr,b[(a[i]+a[j]) shr 1]*b[a[i]]*b[a[j]]);
     max:=j;
     while (j<n) and (a[j+1]=a[max]) do
      inc(j);
    end;
  end;
 end;
 writeln(g,nr);
 close(g);
end.