Pagini recente » Cod sursa (job #1623803) | Cod sursa (job #2863500) | Cod sursa (job #907919) | Cod sursa (job #2611263) | Cod sursa (job #2073836)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n, v[801];
int cautbin(int a, int b)
{
int r = 0;
int pas = 1 << 16;
while (pas)
{
if (r + pas < n && v[r + pas] <= a + b)
r += pas;
pas /= 2;
}
return r;
}
int main()
{
int i, k, tri = 0, j;
f >> n;
for (i = 0; i < n; i++)
f >> v[i];
sort (v, v + n);
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
tri += cautbin(v[i], v[j]) - j;
}
g << tri;
return 0;
}