#include <bits/stdc++.h>
#define int int64_t
signed main() {
int tt;
std::cin >> tt;
std::vector<int> ans;
while(tt--) {
int n, k;
std::cin >> n >> k;
std::vector<int> a(n + 1);
for(int i = 1; i <= n; i++) {
std::cin >> a[i];
}
int sum = 0;
for(int i = 1; i <= n; i++) {
sum += a[i];
}
if(sum % 2) {
ans.push_back(1);
continue;
}
// sum % 2 == 0
if(k == 1) {
ans.push_back(sum % 2);
continue;
}
assert(k == 2);
int cnt = 0;
for(int i = 1; i <= n; i++) {
cnt += a[i] % 2;
}
int e = 0;
for(int i = 1; i <= n; i++) {
e += a[i] / 2;
}
if(e % 2 == 0) {
ans.push_back(cnt % 2);
}
else {
ans.push_back((cnt % 2) ^ 1);
}
}
for(int i = 0; i < ans.size(); i++) {
std::cout << ans[i];
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |