Pagini recente » Borderou de evaluare (job #2805655) | Cod sursa (job #537462) | Cod sursa (job #3000651) | Cod sursa (job #568446) | Cod sursa (job #1493788)
#include <cstdio>
#include <algorithm>
using namespace std ;
int v[820];
int main()
{
freopen ( "nrtri.in" , "r" , stdin ) ;
freopen ( "nrtri.out" , "w" , stdout ) ;
int n, sol = 0 , i , j , last ;
scanf ( "%d" , &n ) ;
for( i = 1 ; i <= n ; i ++ )
scanf ( "%d" , &v[i] ) ;
sort ( v + 1 , v + n + 1 ) ;
for ( i = 1 ; i <= n ; i ++ )
{
last = i + 1 ;
for ( j = i + 1 ; j <= n ; j ++ )
{
while ( last < j )
last ++ ;
while ( last < n && v[i] + v[j] >= v[last + 1] )
last ++ ;
sol += last - j;
}
}
printf ( "%d\n" , sol ) ;
return 0;
}