Pagini recente » Cod sursa (job #371116) | Cod sursa (job #2598821) | Cod sursa (job #2535750) | Cod sursa (job #47022) | Cod sursa (job #741896)
Cod sursa(job #741896)
#include<iostream>
#include<fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int N;
int v[40000];
int rez;
void citire()
{
f>>N;
int i;
for(i=1;i<=N;i++)
{
f>>v[i];
}
}
int cautbin(int x)
{
int i,pas=1<<15;
for(i=0;pas!=0;pas/=2)
if(i+pas<=N && v[i+pas]<=x)
i+=pas;
return i+1;
}
void procesare()
{
int k;
for(int i=1;i<N;i++)
{
for(int j=i+1;j<N;j++)
{
k=cautbin(v[i]+v[j]);
if(k>j)
{
rez+=k-j-1;
}
}
}
}
int main()
{
citire();
sort(&v[1],&v[N+1]);
procesare();
g<<rez;
return 0;
}