Pagini recente » Cod sursa (job #2654266) | Cod sursa (job #2653796) | Cod sursa (job #2739604) | Cod sursa (job #2629716) | Cod sursa (job #1155623)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream ka("nrtri.in");
ofstream ki("nrtri.out");
int n, v[805], s;
int binara(int i, int j)
{
int inc = j;
int sf = n;
int suma = v[i] + v[j];
while(inc < sf)
{
if(inc == sf-1)
{
if(suma >= v[sf])
return sf;
else
return inc;
}
int mij = (inc+sf) / 2;
if(suma >= v[mij])
inc = mij;
else
sf = mij;
}
}
int main()
{
ka >> n;
for(int i = 1; i <= n; i++)
ka >> v[i];
sort(v+1, v + n + 1);
for(int i = 1; i <= n-2; i++)
for(int j = i + 1; j <= n-1; j++)
{
s += binara(i, j) - j;
}
ki << s;
}