Pagini recente » Cod sursa (job #2835748) | Cod sursa (job #2750431) | Cod sursa (job #1159856) | Cod sursa (job #2630168) | Cod sursa (job #1058334)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
const int nmax= 800;
int v[nmax+1];
int main( ) {
int n;
fin>>n;
for ( int i= 1; i<=n; ++i ) {
fin>>v[i];
}
sort( v+1, v+n+1 );
int n2;
for ( n2= 1; n2<=n; n2<<= 1 ) {
}
int sol= 0;
for ( int i= 1; i<=n-2; ++i ) {
for ( int j= i+1; j<=n-1; ++j ) {
int k= 1;
for ( int step= n2; step>0; step>>= 1 ) {
if ( k+step<=n && v[i]+v[j]>=v[k+step] ) {
k+= step;
}
}
sol+= k-j;
}
}
fout<<sol<<"\n";
return 0;
}