Pagini recente » Cod sursa (job #1727153) | Cod sursa (job #2483812) | Cod sursa (job #847268) | Cod sursa (job #1668226) | Cod sursa (job #3240841)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
fin >> n;
vector<int> arr(n);
for (int i = 0; i < n; ++i) {
fin >> arr[i];
}
int answer = 0;
sort(arr.begin(), arr.end());
for (int i = 0; i < n - 1; ++i) {
for (int j = i + 1; j < n; ++j) {
int left = j + 1, right = n - 1, target = arr[i] + arr[j];
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] <= target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
answer += right - j;
}
}
fout << answer;
return 0;
}