Pagini recente » Cod sursa (job #3191079) | Cod sursa (job #592045) | Cod sursa (job #530007) | Cod sursa (job #593155) | Cod sursa (job #177613)
Cod sursa(job #177613)
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-1 do
for j:=i+1 to n 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.