Pagini recente » Cod sursa (job #2159386) | Cod sursa (job #1428078) | Cod sursa (job #1487421)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream in("nrtri.in") ;
ofstream out("nrtri.out") ;
int r, a[800], n ;
void cb(int x, int y)
{
int st=0 , dr=n , mj, s ;
dr=n;
st=max(x,y) ;
s=a[x]+a[y];
while(st<=dr)
{
mj=(st+dr)/2 ;
if(a[mj]>s)
dr=mj-1;
else st=mj+1;
}
mj=(st+dr)/2;
if(a[mj]>s) mj--;
r=r+mj-max(x,y) ;
}
int main()
{
int i,j;
in>>n;
for(i=1;i<=n;i++)
{
in>>a[i] ;
}
sort(a+1,a+n+1) ;
for(i=1;i<=n-2;i++)
{
for(j=i+1;j<=n-1;j++)
{
cb(i,j) ;
}
}
out<<r;
return 0;
}