Pagini recente » Cod sursa (job #2364521) | Cod sursa (job #237156) | Cod sursa (job #2856710) | Cod sursa (job #1863059) | Cod sursa (job #237604)
Cod sursa(job #237604)
#include <stdio.h>
#include <algorithm>
using namespace std;
int a[805];
int n,nrt;
int cautbin (int val)
{
int in=1,sf=n,mij;
while (in<=sf)
{
mij=in+(sf-in)/2;
if (a[mij]<=val && a[mij+1]>val)
return mij;
else if (a[mij]<val)
in=mij+1;
else
sf=mij-1;
}
return n;
}
int main ()
{
freopen ("nrtri.in","r",stdin);
freopen ("nrtri.out","w",stdout);
int i,j,k;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
scanf ("%d",&a[i]);
sort (a+1,a+n+1);
a[n+1]=2000000000;
for (i=1; i<=n-2; ++i)
for (j=i+1; j<=n-1; ++j)
nrt+=cautbin (a[i]+a[j])-j;
printf ("%d",nrt);
return 0;
}