Pagini recente » Cod sursa (job #1787161) | Cod sursa (job #318005) | Cod sursa (job #952965) | Cod sursa (job #2840454) | Cod sursa (job #898506)
Cod sursa(job #898506)
#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
FILE *in,*out;
int v[2050];
int caut(int x){
int loc=0,pas=1<<11;
while( pas != 0){
if( v [ loc + pas ]!= 0 && v [ loc + pas]<x )
loc+=pas;
pas/=2;
}
if(x>=v[loc])
return loc;
return 0;
}
int main(){
in=fopen("nrtri.in","r");
out=fopen("nrtri.out","w");
int n;
fscanf(in,"%d",&n);
int i;
for(i=1;i<=n;i++)
fscanf(in,"%d",&v[i]);
//sort(v+1,v+n+1);
int j,pp,r=0;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++){
pp=caut(v[i]+v[j]);
if(pp>j)
r=r+(pp-j);
}
fprintf(out,"%d",r);
fclose(in);
fclose(out);
return 0;
}