Cod sursa(job #3265300)
| Utilizator | Data | 28 decembrie 2024 22:54:36 | |
|---|---|---|---|
| Problema | Numarare triunghiuri | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("bete2.in");
ofstream g("bete2.out");
int main(void) {
int a[3001], n = 0, count = 0, st = 0, dr = 0, x = 0;
f >> n;
for (int i = 1; i <= n; i++) f >> a[i];
sort(a, a + n + 1);
for (int i = n; i >= 3; i--) {
x = a[i];
st = 1, dr = i - 1;
while (st < dr) {
int sum = a[st] + a[dr];
if (sum >= x){
count++;
st++;
dr--;
}
else if (sum < x) st++;
else dr--;
}
}
g << count;
}