算法
(模拟) $O(t * n\log n)$
显然除了 $0$ 以外,其他数的绝对值最多算 $2$ 次贡献
C++ 代码
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
using std::cin;
using std::cout;
using std::min;
using std::map;
using std::vector;
void solve() {
int n;
cin >> n;
vector<int> a(n);
rep(i, n) cin >> a[i];
map<int, int> mp;
rep(i, n) mp[abs(a[i])]++;
int ans = 0;
for (auto [x, y] : mp) {
if (x == 0) ans += min(1, y);
else ans += min(2, y);
}
cout << ans << '\n';
}
int main() {
int t;
cin >> t;
while (t--) solve();
return 0;
}