Pagini recente » Cod sursa (job #963331) | Cod sursa (job #936152) | Cod sursa (job #1708767) | Cod sursa (job #2288633) | Cod sursa (job #214596)
Cod sursa(job #214596)
const NMAX=30002;
var n,i,j,k,t:longint;
v:array[0..801] of longint;
f,g:text;
sol:int64;
function search(tt:integer;x:longint):integer;
var ls,ld,mij,r:integer;
begin
ls:=tt;ld:=n;
while ls<=ld do
begin
mij:=(ls+ld)div 2;
if (v[mij]<=x) then begin
r:=mij;
ls:=mij+1;
end
else ld:=mij-1;
end;
search:=r;
end;
begin
assign(f,'nrtri.in');reset(f);
assign(g,'nrtri.out');rewrite(g);
readln(f,n);
for i:=1 to n do
read(f,v[i]);
for i:=1 to n do
for j:=i+1 to n do
if (v[i]>v[j]) then
begin
k:=v[i];
v[i]:=v[j];
v[j]:=k;
end;
sol:=0;
for i:=1 to n-2 do
for j:=i+1 to n-1 do
begin
k:=v[i]+v[j];
if (k>=v[j+1]) then begin
t:=search(j+1,k);
sol:=sol+(t-j);
end;
end;
write(g,sol);
close(f);close(g);
end.