Pagini recente » Cod sursa (job #2174219) | Cod sursa (job #2471472) | Cod sursa (job #2891829) | Cod sursa (job #1231441) | Cod sursa (job #2073848)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
const int NL = 801, L = 16;
int n, v[NL];
int fct(int i, int j)
{
int r = 0;
int pas = 1 << L;
while(pas != 0)
{
if(r + pas <= n && v[r + pas]<= v[i] + v[j])
{
r += pas;
}
pas /= 2;
}
return r;
}
int main()
{
in >> n;
int c = 0;
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++)
{
c += fct(i, j) - j;
}
}
out << c << '\n';
return 0;
}