Pagini recente » Cod sursa (job #886684) | Cod sursa (job #1549115) | Cod sursa (job #2812503) | Cod sursa (job #1785654) | Cod sursa (job #329675)
Cod sursa(job #329675)
var v:array[1..800] of integer;
n,i,t,x,a,b,m,j,nr,c:word;
f,g:text;
k:boolean;
begin
assign(f,'nrtri.in');
assign(g,'nrtri.out');
reset(f);rewrite(g);
readln(f,n);
for i:=1 to n do
read(f,v[i]);
t:=n;
repeat
k:=true;
for i:=1 to t-1 do
if v[i]>v[i+1] then
begin
x:=v[i];
v[i]:=v[i+1];
v[i+1]:=x;
k:=false;
end;
t:=t-1;
until k=true;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
a:=1;b:=n;
while a<=b do
begin
m:=(a+b) div 2;
if (v[m]<=v[i]+v[j]) then
if ((m+1>n) or (v[m+1]>v[i]+v[j])) then
begin
c:=m;
break;
end
else
a:=m+1
else
b:=m-1;
end;
nr:=nr+c-j;
end;
write(g,nr);
close(f);close(g);
end.