Cod sursa(job #177612)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 13 aprilie 2008 13:04:35
Problema Numarare triunghiuri Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.8 kb
var a : array[0..801] of longint;
    i,j,n,k,p,nr,aux : longint;
    f,g : text;
procedure caut_bin(x,l,r : longint);
var m : longint;
begin
  if l>r then
  begin
    if p=0 then p:=-1
  end
  else
  begin
    m:=(l+r)div 2;
      if a[m]<=x then
      begin
        p:=m;
        caut_bin(x,m+1,r);
      end
      else
        caut_bin(x,l,m-1);
  end;
end;

begin
assign(f,'nrtri.in');reset(f);
assign(g,'nrtri.out');rewrite(g);
read(f,n);
for i:=1 to n do read(f,a[i]);
for i:=1 to n-2 do
  for j:=i+1 to n-1 do
    if a[i]>a[j] then
    begin
      aux:=a[i];
      a[i]:=a[j];a[j]:=aux;
    end;
for i:=1 to n-2 do
  for j:=i+1 to n-1 do
  begin
    p:=0;
    caut_bin(a[i]+a[j],1,n);
      if p<>-1 then
        inc(nr,p-j);
  end;
writeln(g,nr);
close(g);
end.