- MysGln 的博客
8月3日
- @ 2026-8-3 12:51:14
双指针 + 排序
#include <algorithm>
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a[105];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
int ans = 0;
// 枚举作为结果的 a[k]
for (int k = 0; k < n; k++) {
int left = 0;
int right = k - 1;
while (left < right) {
int sum = a[left] + a[right];
if (sum == a[k]) {
ans++;
break;
}
if (sum < a[k]) {
left++;
} else {
right--;
}
}
}
cout << ans << '\n';
return 0;
}