Cod sursa(job #1573907)
| Utilizator | Data | 20 ianuarie 2016 00:02:58 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ifstream cin("nrtri.in");
ofstream cout("nrtri.out");
int n;
cin >> n;
vector<int> v(n);
for (int i = 0; i < n; ++i) {
cin >> v[i];
}
sort(v.begin(), v.end());
int p, q, val, ans = 0;
for (int i = 0; i < n - 2; ++i) {
for (int j = i + 1; j < n - 1; ++j) {
p = v[i]; q = v[j];
val = p + q;
int k = j + 1;
while (val >= v[k] && k < n) {
k++;
ans++;
}
}
}
cout << ans;
return 0;
}
