Pagini recente » Cod sursa (job #303260) | Cod sursa (job #1754229) | Cod sursa (job #1513161) | Cod sursa (job #1486414) | Cod sursa (job #234958)
Cod sursa(job #234958)
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.