Cod sursa(job #1149231)
| Utilizator | Data | 21 martie 2014 15:43:29 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int v[801],c[60005];
int main()
{
FILE*f=fopen("nrtri.in","r");
FILE*h=fopen("nrtri.out","w");
int n;
fscanf(f,"%d",&n);
for ( int i=1;i<=n;++i ){
fscanf(f,"%d",&v[i]);
c[v[i]]++;
}
for ( int i=1;i<=60001;++i ){
c[i]+=c[i-1];
//fprintf(h,"%d ",c[i]);
}
sort(v+1,v+n+1);
int s=0;
for ( int i=1;i<=n;++i )
for ( int j=i+1;j<=n;++j ){
for ( int k=j+1;k<=n;++k ){
if ( v[i]+v[j]>=v[k] )++s;
else break;
}
}
fprintf(h,"%d",s);
return 0;
}
