Pagini recente » Cod sursa (job #1660288) | Cod sursa (job #850046) | Cod sursa (job #1952491) | Cod sursa (job #1493792) | Cod sursa (job #1503568)
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define nmax 810
int n,v[nmax];
int cautbin(int val){
int start=0, step=(1<<10);
for( ; step; step>>=1){
int index=start+step;
if(index>n)continue;
if(v[index]<=val)start=index;
}
return start;
}
int main(){
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d", &n);
int s=0;
for(int i=1;i<=n;++i){
scanf("%d", &v[i]);
}
sort(v+1,v+n+1);
for(int i=1;i<=n-2;++i){
for(int j=i+1;j<=n-1;++j){
int k=v[i]+v[j];
int a=cautbin(k);
if(a==i || a==j)continue;
if(k>=v[a])
{
a=a-j;
s=s+a;
}
}
}
printf("%d \n", s);
}