Pagini recente » Cod sursa (job #930663) | Cod sursa (job #1348681) | Cod sursa (job #2885621) | Cod sursa (job #1950865) | Cod sursa (job #394803)
Cod sursa(job #394803)
#include <fstream>
using namespace std;
#include <algorithm>
ifstream in ( "nrtri.in" );
ofstream out ( "nrtri.out" );
const int NMax = 1 << 10;
int N, v [ NMax ], cnt;
bool comp ( int a, int b )
{
return a < b;
}
void BS ( int I, int J )
{
int i, step;
for ( step = 1; step < N; step <<= 1 );
for ( i = 1; step; step >>= 1 )
if ( i + step <= N && v [ i + step ] >= v [ I ] && v [ i + step ] >= v [ J ] && v [ i + step ] <= v [ I ] + v [ J ] && i + step != J && i + step != I )
i += step;
if ( v [ i ] >= v [ I ] && v [ i ] >= v [ J ] && v [ i ] <= v [ I ] + v [ J ] && i != I && i != J )
++cnt;
}
int main ()
{
in >> N;
for ( int i = 0; i < N; ++i )
in >> v [ i ];
sort ( v, v + N, comp );
for ( int i = 0; i < N; ++i )
for ( int j = i + 1; j < N; ++j )
BS ( i, j );
out << cnt;
return 0;
}