# PBinfo #660 – Triunghiuri – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerința
Se dau n numere naturale distincte. Determinaţi câte triunghiuri distincte pot avea lungimile laturilor printre aceste numere.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n numere naturale.

Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând numărul de triunghiuri determinate.

Restricții și precizări

1 ≤ n ≤ 100
cele n numere citite vor fi mai mici decât 1.000.000

Exemplu:
Intrare

5
3 5 10 7 6 
Ieșire

7
Explicație
Cele 7 triunghiuri au lungimile laturilor:
3 5 7
3 5 6
3 7 6
5 7 6
5 10 7
5 10 6
10 7 6

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int n, a[105];
int main()
{
	cin >> n;
	for(int i = 1 ; i <= n ; ++i)
		cin >> a[i];
	int cnt = 0;
	for(int i = 1 ; i < n ; ++i)
		for(int j = i + 1 ; j <= n ; j ++)
			if(a[i] > a[j])
			{
				int aux = a[i];
				a[i] = a[j];
				a[j] = aux;
			}
	for(int i = 1 ; i <= n - 2  ; ++i)
		for(int j = i + 1 ; j <= n ; j ++)
			for(int k = j + 1 ; k <= n ; k ++)
				if(a[i] + a[j] > a[k])
					cnt ++;
	cout << cnt << endl;
	return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/660)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/660/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-660/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
