Pagini recente » Cod sursa (job #1016379) | Cod sursa (job #1033143) | Cod sursa (job #820113) | Cod sursa (job #1033164) | Cod sursa (job #234932)
Cod sursa(job #234932)
var v:array[1..800]of integer;
c,i,n,j,aux,k,p:integer;
f,g:text;
function bs(x,y,l:integer):integer;
var k,a,b,m:integer;
begin
a:=x;
b:=y;
k:=x-1;
while(a<=b) do begin
m:=a+(b-a)div 2;
if v[m]>l then b:=m-1
else begin
k:=m;
a:=m+1;
end;
end;
bs:=k-x+1;
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]:=v[i];
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);
p:=p+k;
end;
assign(g,'nrtri.out');
rewrite(g);
writeln(g,p);
close(f);
close(g);
end.