Cod sursa(job #980445)
| Utilizator | Data | 4 august 2013 18:15:12 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 803;
int V[NMAX];
int main () {
freopen ("nrtri.in", "r", stdin);
freopen ("nrtri.out", "w", stdout);
int N, i, j, k = 0;
scanf ("%d", &N);
for (i = 1; i <= N; ++i)
scanf ("%d", &V[i]);
sort (V + 1, V + N + 1);
for (i = 1; i < N - 1; ++i)
for (j = i + 1; j < N; ++j)
k += upper_bound (V + j + 1, V + N + 1, V[i] + V[j]) - V - 1 - j;
printf ("%d", k);
}
