제출 #1171417

#제출 시각아이디문제언어결과실행 시간메모리
1171417fryingducKpart (eJOI21_kpart)C++20
0 / 100
2092 ms480 KiB
#include "bits/stdc++.h" using namespace std; #ifdef duc_debug #include "bits/debug.h" #else #define debug(...) #endif const int maxn = 1005; const int N = 1e5 + 5; int n, a[maxn]; bitset<N> bs, emp; void solve() { cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i]; } vector<int> res; for (int k = 2; k <= n; ++k) { bs &= emp; bs[0] = 1; int sum = 0; for (int i = 1; i < k; ++i) { bs |= (bs << a[i]); sum += a[i]; } bool flag = 1; for (int i = k; i <= n; ++i) { if (i - k > 0) { sum -= a[i - k]; bs &= (bs >> a[i - k]); } sum += a[i]; bs |= (bs << a[i]); if (sum & 1 || !bs.test(sum / 2)) { flag = 0; break; } } if (flag) { res.push_back(k); } } cout << (int)res.size() << " "; for (auto i : res) cout << i << " "; cout << '\n'; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int tt; cin >> tt; while (tt--) { solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...