Pagini recente » Cod sursa (job #2663034) | Cod sursa (job #3239985) | Cod sursa (job #539590) | Cod sursa (job #721327) | Cod sursa (job #2083912)
#include <iostream>
#include<cstdio>
#include <algorithm>
int v[1000];
const int L=10;
using namespace std;
int main(){
FILE*fin,*fout;
fin = fopen( "nrtri.in", "r" );
fout = fopen( "nrtri.out", "w" );
int n,i,j,r,c=0,pas;
fscanf( fin, "%d", &n );
for( i = 0; i < n; i++ )
fscanf( fin, "%d", &v[i] );
sort( v, v + n );
for( i = 0; i < n; i++ ){
for( j = i+1; j < n; j++){
r = 0;
pas = 1 << L;
while(pas != 0){
if( r + pas < n && v[r+pas] <= v[i] + v[j] )
r = r + pas;
pas = pas / 2;
}
c=c+r-j;
}
}
fprintf( fout, "%d", c );
fclose( fin );
fclose( fout );
return 0;
}