Pagini recente » Cod sursa (job #538058) | Cod sursa (job #2902628) | Cod sursa (job #1855251) | Cod sursa (job #698137) | Cod sursa (job #293147)
Cod sursa(job #293147)
#include <stdio.h>
#include <algorithm>
using namespace std;
int i,j,l,n,nr,a[801],m;
void cautbin(int s,int d)
{
int m;
while(s<=d)
{
m=(s+d)/2;
if(a[i]+a[j]>=a[m])
{
nr++;
cautbin(s,m-1);
s=m+1;
}
else
if(a[i]+a[j]<a[m])
d=m-1;
else
s=m+1;
}
}
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+n+1);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
cautbin(j+1,n);
printf("%d",nr);
return 0;
}