Cod sursa(job #2664096)
Utilizator | Barbu Matei Barbumatei | Data | 27 octombrie 2020 22:16:44 |
---|---|---|---|
Problema | Numarare triunghiuri | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int v[800],put;
int main(){
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n, i, j, k, cnt;
f>>n;
for(i=0; i<n; i++)
{
f>>v[i];
}
sort(v, v+n);
cnt = 0;
for (i = 0; i < n - 2; i++) {
j = i + 1;
k = n - 1;
while (j < k) {
if (v[i] + v[j] < v[k]) {
k--;
}
else {
cnt += k - j;
j++;
}
}
}
g << cnt << '\n';
f.close();
g.close();
return 0;
}