#include <bits/stdc++.h>
using namespace std;
int n;
#define MAX_N 100'100
int a[1'010], cnt[1'010];
short res[1'010];
bitset <MAX_N + 2> bs;
int main() {
ios_base::sync_with_stdio(false);cin.tie(nullptr);
// freopen("test.inp","r",stdin);
// freopen("test.out","w",stdout);
int t;
cin >> t;
while (t--) {
cin >> n;
for (int i = 1; i <= n; ++i) cin >> a[i];
memset(cnt, 0, (n + 2) * sizeof(int));
for (int i = 1; i <= n; ++i) {
bs.reset();
int sum = 0;
bs[0] = 1;
for (int j = i; j <= n; ++j) {
sum += a[j];
bs |= (bs << a[j]);
if (sum % 2 == 0 && bs[sum >> 1]) cnt[j - i + 1]++;
}
}
int size_res = 0;
for (int i = 1; i <= n; ++i) {
if (cnt[i] == n - i + 1) res[++size_res] = i;
}
cout << size_res << " ";
for (int i = 1; i <= size_res; ++i) cout << res[i] << " ";
cout << "\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |