Pagini recente » Cod sursa (job #1188159) | Cod sursa (job #2133914) | Cod sursa (job #2407810) | Cod sursa (job #3130815) | Cod sursa (job #210051)
Cod sursa(job #210051)
#include<stdio.h>
int n, v[900];
int caut(int a){
int p=1;
int q=n;
int m;
while(p!=q){
m=p+(q-p)/2;
if(a<=v[m]){
q=m;}
else p=m+1;
}
while(v[p+1]==a)
p++;
if(a<v[p])
return p-1;
return p;
}
int main(){
freopen("nrtri.in", "r", stdin);
freopen("nrtri.out", "w", stdout);
int q, w, e, s=0;
scanf("%d", &n);
for(int i=1; i<=n; ++i){
scanf("%d", &v[i]);}
int c;
for(int i=1; i<n; ++i){
int min=i;
for(int j=i+1; j<=n; ++j)
if(v[min]>v[j])
min=j;
if(min!=i){
c=v[i];
v[i]=v[min];
v[min]=c;
}
}
for(q=1;q<=n-2;++q)
for(w=q+1;w<=n-1;++w){
s=s+caut(v[w]+v[q])-w;
}
printf("%d", s);
return 0;
}