Cod sursa(job #2184107)
| Utilizator | Data | 23 martie 2018 18:49:12 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int v[800] ,f[800] ;
int cnt ;
int main()
{
freopen("nrtri.in","r",stdin) ;
freopen("nrtri.out","w",stdout) ;
int n ,i ,j ,k ,sum ;
scanf("%d",&n) ;
for (i = 1 ; i <= n ; ++ i){
scanf("%d",&v[i]) ;
f[v[i]] ++ ;
}
sort(v + 1 ,v + 1 + n) ;
for (i = 1 ; i <= n ; ++ i){
for (j = i + 1 ; j <= n ; ++ j){
sum = v[i] + v[j] ;
for (k = j + 1 ; k < sum ; ++ k)
if (f[v[k]] != 0 && v[i] + v[j] >= v[k]) cnt ++ ;
}
}
printf("%d",cnt) ;
return 0;
}
