Pagini recente » Cod sursa (job #1194740) | Cod sursa (job #2488128) | Cod sursa (job #2941552) | Cod sursa (job #1640356) | Cod sursa (job #2113207)
#include <iostream>
#include <fstream>
#include <algorithm>
#define N 802
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
long long sol;
int n, a[N];
int bin_search(int x, int l, int r) {
int m, pos = 0;
while (l <= r) {
m = (l + r) >> 1;
if (x >= a[m]) {
pos = m;
l = m + 1;
} else {
r = m - 1;
}
}
return pos;
}
int main() {
in >> n;
if (n < 3) {
out << 0;
return 0;
}
for (int i = 1; i <= n; i++)
in >> a[i];
sort(a + 1, a + n + 1);
for (int i = 1; i <= n - 2; i++) {
for (int j = i + 1; j <= n - 1; j++)
sol += max(0, bin_search(a[i] + a[j], j + 1, n) - j);
}
out << sol;
return 0;
}