Cod sursa(job #1618072)
Utilizator | Titus A titus | Data | 27 februarie 2016 18:04:48 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int j,S,k,sol,n,i,a[1001];
int main()
{
freopen("nrtri.in", "r", stdin);
freopen("nrtri.out", "w", stdout);
scanf("%d", &n);
for(i=0; i<n; ++i)
scanf("%d", &a[i]);
sort(a, a+n);
for(i=0; i<n-1; i++)
for(j=i+1; j<n; j++)
{
S = a[i] + a[j];
k = upper_bound(a, a+n, S) - a;
sol += (k-j-1);
}
printf("%d", sol);
return 0;
}