T342414 珠心算
首先一眼双指针,写了
喜提10pts
#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 10;
long long n, m;
long long a[N], ans = 0;
int main() {
cin >> n;
for (int i = 0; i < n; i ++ ) cin >> a[i];
for (int i = 0; i < n; i ++) {
m = a[i];
sort(a, a + n);
int l = 0, r = n - 1;
while (l < r) {
while(a[l] + a[r] != m && r > 1) r --;
if (a[l] + a[r] == m) break;
r = n - 1;
l ++;
}
if (a[l] + a[r] == m) ans ++;
}
cout << ans;
return 0;
}