Pagini recente » Cod sursa (job #152959) | Cod sursa (job #2891396) | Cod sursa (job #1216387) | Cod sursa (job #2482966) | Cod sursa (job #1523783)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int frec[30010];
int v[8010];
int j=0,mem=0;
int sol=0;
bool ver(int poz,int val)
{
if(v[poz]<val) return 0;
return 1;
}
int caut(int l,int r,int val)
{
int mij=(l+r)/2;
if(ver(mij,val)){
if(!ver(mij-1,val))return mij;
return(l,mij,val);
}
return (r,mij,val);
}
int main()
{
int n,x,i;
in>>n;
for(i=0;i<n;i++)
in>>v[i];
sort(v,v+n);
for(i=n-1;i>1;i--)
for(j=i-1;v[j]>=v[i]/2&&j>0;j--)
{
if(ver(j-1,v[i]-v[j]))sol+=j-caut(0,j,v[i]-v[j]);
}
out<<sol;
return 0;
}