Cod sursa(job #930480)
| Utilizator | Data | 27 martie 2013 17:51:47 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*fin=fopen("nrtri.in","r");
FILE*fout=fopen("nrtri.out","w");
int a,b,i,j,k,n,m,v[802],rasp;
bool cmp(int a, int b){return (a<b);}
int main()
{fscanf(fin,"%d",&n);
for (i=1;i<=n;i++)
fscanf(fin,"%d",&v[i]);
sort(v+1,v+n+1,cmp);
for (i=1;i<n-1;i++)for (j=i+1;j<=n-1;j++)
rasp+=upper_bound(v+j+1,v+n+1,v[j]+v[i])-(v+j+1);
fprintf(fout,"%d\n",rasp);
return 0;}
