Cod sursa(job #595033)
| Utilizator | Data | 10 iunie 2011 21:10:51 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
int n,v[805];
scanf("%d",&n);
for (int i=0; i<n; ++i)
scanf("%d",v+i);
sort(v,v+n);
long long nr=0;
for (int i=0; i<n-2; ++i)
for (int j=i+1; j<n-1; ++j)
for(int k=j+1; k<n; ++k)
if (v[i]+v[j]>=v[k] && v[i]+v[k]>=v[j] && v[j]+v[k]>=v[i])
nr++;
else
break;
printf("%lld",nr);
return 0;
}
