Pagini recente » Cod sursa (job #1409523) | Cod sursa (job #3181475) | Cod sursa (job #1278457) | Cod sursa (job #2148063) | Cod sursa (job #674390)
Cod sursa(job #674390)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
const int N=801;
int v[N],n;
int cautbin (int x)
{
int i,pas=1<<16;
for(i=0;pas!=0;pas>>=1)
{
if(i+pas<=n && v[i+pas]<=x)
{
i+=pas;
}
}
return i;
}
int main()
{
int i,j,rez=0,k;
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
sort(&v[1],&v[n+1]);
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
k=cautbin(v[i]+v[j]);
if(k>j)
{
rez+=k-j;
//out<<v[i]<<" "<<v[j]<<" -> "<<k-j<<"\n";
}
}
}
out<<rez;
return 0;
}