Cod sursa(job #1458216)
| Utilizator | Data | 7 iulie 2015 10:02:54 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <bits/stdc++.h>
using namespace std;
const int Dim = 900;
int N,T[Dim],Sol;
int main()
{
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d",&N);
for (int i = 1;i <= N;i++)
scanf("%d",&T[i]);
sort(T + 1,T + N + 1);
for (int i = 1;i < N;i++)
for (int j = i + 1;j <= N;j++)
{
int Sum = T[j] + T[i],Y = upper_bound(T + i + 1,T + N + 1,Sum) - T - 1;
Y -= j;
Sol += Y;
}
printf("%d\n",Sol);
return 0;
}
