Pagini recente » Cod sursa (job #1387388) | Cod sursa (job #2082754) | Cod sursa (job #2299642) | Cod sursa (job #142841) | Cod sursa (job #1743153)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *f1=fopen("nrtri.in","r");
FILE *f2=fopen("nrtri.out","w");
int n,v[1001],i,j,s,nrsol=0,ind;
int cautB(int val,int st){
int mij,l=st+1,h=n,poz=-1;
while(l<=h){
mij=(l+h)/2;
if (v[mij]<=val){
poz=mij;
l=mij+1;
}
else
h=mij-1;
}
if (poz!=-1) return poz-st;
return 0;
}
int main(){
fscanf(f1,"%d",&n);
for (i=1;i<=n;i++){
fscanf(f1,"%d",&v[i]);
}
sort(v+1,v+n+1);
fclose(f1);
for (i=1;i<=n-2;i++)
for (j=i+1;j<=n-1;j++)
nrsol=nrsol+cautB(v[i]+v[j],j);
fprintf(f2,"%d",nrsol);
fclose(f2);
return 0;
}