Pagini recente » Cod sursa (job #192086) | Cod sursa (job #2722144) | Cod sursa (job #1889571) | Cod sursa (job #1272471) | Cod sursa (job #234955)
Cod sursa(job #234955)
#include <iostream.h>
#include <fstream.h>
fstream f("nrtri.in", ios::in);
fstream g("nrtri.out", ios::out);
int l[801];
int bs(int i, int j, int x)
{
int mij, last=0;
while(i<=j){
mij=i+(j-i)/2;
if (l[mij]>x)j=mij-1;
else {i=mij+1;
last=mij;
}
}
return last;
}
int main()
{
int i=0, j=0, n, k=0, c, b;
f>>n;
for (i=1;i<=n;i++) f>>l[i];
for (i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(l[i]>l[j]){
l[0]=l[i];
l[i]=l[j];
l[j]=l[0];
}
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
{c=l[i]+l[j];
b=bs(j,n,c);
if (b>0) k=k+b-j;
}
g<<k;
f.close();
g.close();
return 0;
}