Pagini recente » Cod sursa (job #899820) | Cod sursa (job #1634204) | Cod sursa (job #2392673) | Cod sursa (job #2691578) | Cod sursa (job #2579619)
#include <bits/stdc++.h>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
const int dim = 810;
int n, v[dim], rez, p;
int cauta(int x)
{
int st = 1, poz = 0;
for(st;st <= n;st <<= 1);
for(st; st; st >>= 1)
if(poz + st <= n && v[poz + st] <= x)
poz += st;
return poz;
}
int main()
{
in>>n;
for(int i = 1;i <= n;i++)
in>>v[i];
sort(v + 1, v + n + 1);
for(int i = 1;i < n;i++)
{
for(int j = i + 1;j <= n;j++)
{
p = cauta(v[i] + v[j]);
if(v[p] == v[i] + v[j])
rez += n - p + 1;
else if(v[p] > v[i] + v[j])
rez += n - p;
}
}
out<<rez<<'\n';
return 0;
}