Pagini recente » Cod sursa (job #1964421) | Cod sursa (job #2747278) | Cod sursa (job #1731994) | Cod sursa (job #1782527) | Cod sursa (job #1534863)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
# define max 1000001
int v[801];
int CautareBinara(int i, int j, int s)
{
int mij = (i + j)/2;
if(i == j) return i;
if(v[mij] < s)
return CautareBinara(i, mij, s);
else return CautareBinara(mij + 1, j, s);
}
int main()
{
ifstream f("nrtri.in");
ofstream g("nrtri.out");
long long int n, i, j, x, nr = 0;
f>>n;
for(i = 1; i <= n; i++)
f >> v[i];
sort(v + 1, v + n + 1);
for(i = 1; i <= n - 2; i++)
for(j = i + 1; j <= n - 1; j++)
{
x = CautareBinara(j + 1, n, v[i] + v[j]);
if(v[x] <= v[i] + v[j])
nr += x - j;
}
g<<nr;
f.close();
g.close();
return 0;
}