Pagini recente » Cod sursa (job #2291133) | Cod sursa (job #2375543) | Cod sursa (job #404673) | Cod sursa (job #2141198) | Cod sursa (job #1723694)
#include <bits/stdc++.h>
using namespace std;
ofstream g("nrtri.out");
int n, a[850], cnt;
void Citire()
{
ifstream f("nrtri.in");
f >> n;
for(int i = 1; i <= n; i++)
f >> a[i];
f.close();
}
void CB(int x, int y)
{
int sum, m, st, dr, poz;
sum = a[x] + a[y];
st = y + 1;
dr = n;
poz = -1;
while(st <= dr)
{
m = (st + dr) / 2;
if(sum >= a[m])
{
poz = m;
st = m + 1;
}
else dr = m - 1;
}
if(poz != -1)
cnt += poz - y;
}
void Rezolvare()
{
int i, j;
sort(a + 1, a + n + 1);
for(i = 1; i < n - 1; i++)
for(j = i + 1; j < n; j++)
CB(i, j);
g << cnt << "\n";
g.close();
}
int main()
{
Citire();
Rezolvare();
return 0;
}