Cod sursa(job #234958)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 22 decembrie 2008 12:26:26
Problema Numarare triunghiuri Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.72 kb
var v:array[1..800]of integer;
c,i,n,j,aux,k,p:longint;
f,g:text;
function bs(x,y,l:longint):longint;
var w,a,b,m:longint;
begin
a:=x;
b:=y;
w:=0;
while(a<=b) do       begin
   m:=a+(b-a)div 2;
   if v[m]>l then b:=m-1
      else       begin
      w:=m;
      a:=m+1;
      end;
   end;
   bs:=w
end;
begin
assign(f,'nrtri.in');
reset(f);
readln(f,n);
for i:=1 to n do
read(f,v[i]);
for i:=1 to n-1 do
  for j:=i+1 to n do
     if v[i]>v[j] then
     begin
     aux:=v[i];
     v[i]:=v[j];
     v[j]:=aux;
     end;
for i:=1 to n-2 do
for j:=i+1 to n-1 do
begin
c:=v[i]+v[j];
k:=bs(j+1,n,c);
if k>0 then
p:=p+k-j;
end;
assign(g,'nrtri.out');
rewrite(g);
writeln(g,p);
close(f);
close(g);
end.