Pagini recente » Cod sursa (job #660436) | Cod sursa (job #1239688) | Cod sursa (job #1637008) | Cod sursa (job #538413) | Cod sursa (job #1503555)
#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-1;++i){
for(int j=i+1;j<=n;++j){
int k=v[i]+v[j];
int a=cautbin(k);
if(a==i || a==j)continue;
if(v[a]<k)continue;
if(v[i]+v[j]>=v[a])
{
++s;
}
}
}
++s;
printf("%d \n", s);
}