Pagini recente » Cod sursa (job #3279439) | Cod sursa (job #2869430) | Cod sursa (job #1186772) | cluj.love.icrisop | Cod sursa (job #1007995)
#include <fstream>
#include <algorithm>
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*= 2 ) {
}
int sol= 0;
for ( int i= 1; i<=n-2; ++i ) {
for ( int j= i+1; j<=n-1; ++j ) {
int aux= 1, step;
for ( step= n2; step; step/= 2 ) {
if ( aux+step<=n && v[aux+step]<=v[i]+v[j] ) {
aux+= step;
}
}
//printf("%d %d %d %d %d\n", i, j, v[i], v[j], aux);
sol+= aux-j;
}
}
fout<<sol<<"\n";
return 0;
}