Pagini recente » Cod sursa (job #2003870) | Cod sursa (job #1218808) | Cod sursa (job #2020960) | Cod sursa (job #312327) | Cod sursa (job #3324453)
#include <bits/stdc++.h>
#include <bits/stdc++.h>
using namespace std;
int main() {
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int n;
fin >> n;
int V[800];
for (int i = 0; i < n; i++) fin >> V[i];
sort(V, V + n);
long long count = 0;
for (int i = 0; i < n - 2; i++) {
for (int j = i + 1; j < n - 1; j++) {
int s = V[i] + V[j];
int st = j + 1, dr = n - 1, pos = j;
while (st <= dr) {
int m = (st + dr) / 2;
if (V[m] <= s) {
pos = m;
st = m + 1;
} else {
dr = m - 1;
}
}
count += (pos - j);
}
}
fout << count << endl;
return 0;
}