Pagini recente » Cod sursa (job #551976) | Cod sursa (job #91655) | Cod sursa (job #1466220) | Cod sursa (job #2229125) | Cod sursa (job #2326086)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ofstream fo("nrtri.out");
ifstream fi("nrtri.in");
int n,trig[900];
long long sol;
int cautbin(int cautat)
{
int poz=0;
for(int i=19;i>=0;i--)
{
if(poz+(1<<i) && trig[poz+(1<<i)]<cautat)
{
poz+(1<<i);
}
}
return poz;
}
int main()
{
fi>>n;
for(int i=1;i<=n;i++)
fi>>trig[i];
sort(trig+1,trig+n+1);
for(int i=1;i<n-1;i++)
for(int j=i+1;j<n;j++)
{
int suma=trig[i]+trig[j];
int pozitie=cautbin(suma);
sol+=n-pozitie;
}
fo<<sol/6;
fo.close();
fi.close();
return 0;
}