Pagini recente » Cod sursa (job #2210475) | Cod sursa (job #502000) | Cod sursa (job #2017412) | Cod sursa (job #1283134) | Cod sursa (job #1601933)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int x[1000],N,i,j,sol;
int caut(int s,int sf,int l)
{
int mid=(s+sf)/2;
if(x[mid]==l)
return mid+1;
if(s>=sf)
return mid;
if(x[mid]>l)
{
return caut(s,mid-1,l);
}
if(x[mid]<l)
{
return caut(mid+1,sf,l);
}
return mid;
}
int main()
{
fin>>N;
for(i=1;i<=N;i++)
fin>>x[i];
sort(x+1,x+1+N);
for(i=1;i<=N;i++)
for(j=i+1;j<=N-1;j++)
{
sol+=caut(j,N,x[i]+x[j])-j-1;
}
fout<<sol;
return 0;
}