Pagini recente » Cod sursa (job #2479045) | Cod sursa (job #1696053) | Monitorul de evaluare | Cod sursa (job #1773241) | Cod sursa (job #1914580)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
const int N = 801;
int v[N], n;
int tri(int x)
{
int r = 0, pas;
pas = 1 << 9;
r = 0;
while(pas != 0)
{
if(r + pas <= n && v[r+pas] <=x)
{
r+=pas;
}
pas/=2;
}
return r;
}
int main()
{
int rez = 0, k;
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++)
{
k = tri(v[i] + v[j]);
if(k > j)
rez += k-j;
}
out<<rez;
return 0;
}