Pagini recente » Cod sursa (job #2682176) | Cod sursa (job #1858677) | Cod sursa (job #1844758) | Cod sursa (job #299967) | Cod sursa (job #2077728)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int a[805];
const int L=10;
int caut(int a[], int n, int x)
{
int r=0, pas;
pas=1<<L;
while(pas)
{
if(r+pas<=n && a[r+pas]<=x)
r+=pas;
pas/=2;
}
return r;
}
int main()
{
int n, i, s=0, j, r;
fin >> n;
for(i=1; i<=n; i++)
fin >> a[i];
sort(a+1, a+n+1);
for(i=1; i<n; i++)
for(j=i+1; j<=n; j++)
{
r = caut(a, n, a[i]+a[j]);
if(r)
s+= r-j;
}
fout << s;
fin.close();
fout.close();
return 0;
}