Pagini recente » Cod sursa (job #2443143) | Cod sursa (job #2760338) | Cod sursa (job #2842429) | Cod sursa (job #1499360) | Cod sursa (job #1891072)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
const int NMAX = 800;
int v[NMAX + 1], n, n2;
int cautbin1(int x)
{
int sol = 0;
for(int i = n2; i > 0; i/=2)
{
if(sol + i <= n && v[sol + i] <= x)
{
sol += i;
}
}
return sol;
}
int main()
{
int c, p, aux;
c = 0;
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> v[i];
}
for(int i = 1; i <= n; i++)
{
for (int j = i+1; j <= n; j++)
if (v[i] > v[j])
{
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
for(int i = 2; i <= n; i += 2)
{
for(n2 = 1; n2 * 2 <= n; n2*=2)
{
}
p = cautbin1(v[i - 1] + v[i]);
c += p - i;
}
fout << c;
return 0;
}