답안 #715436

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
715436 2023-03-26T17:29:10 Z MilosMilutinovic Football (info1cup20_football) C++14
100 / 100
43 ms 2004 KB
#include <bits/stdc++.h>

using i64 = long long;

void solve() {
    int n, k;
    std::cin >> n >> k;

    std::vector<int> a(n);
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
    }

    int pw = 1;
    while (pw * 2 <= k) {
        pw *= 2;
    }

    k = pw;

    i64 s = 0;
    for (int i = 0; i < n; i++) {
        s += a[i];
    }

    if (s % 2 == 1) {
        std::cout << "1";
        return;
    }

    std::function<int(int, int)> dfs = [&](int x, int v) {
        if (x > k) {
            return 0;
        }
        int t = v;
        for (int i = 0; i < n; i++) {
            t ^= (a[i] % 2);
        }
        if (t == 1) {
            return 1;
        }
        for (int i = 0; i < n; i++) {
            a[i] /= 2;
        }
        return dfs(x * 2, t);
    };

    std::cout << dfs(1, 0);
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int t;
    std::cin >> t;
    while (t--) {
        solve();
    }

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 340 KB Output is correct
2 Correct 11 ms 1264 KB Output is correct
3 Correct 11 ms 1284 KB Output is correct
4 Correct 11 ms 1280 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 324 KB Output is correct
2 Correct 8 ms 468 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 25 ms 392 KB Output is correct
2 Correct 28 ms 980 KB Output is correct
3 Correct 25 ms 964 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 460 KB Output is correct
2 Correct 42 ms 1992 KB Output is correct
3 Correct 43 ms 2004 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 400 KB Output is correct
2 Correct 10 ms 404 KB Output is correct
3 Correct 11 ms 400 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 340 KB Output is correct
2 Correct 11 ms 1272 KB Output is correct
3 Correct 14 ms 1284 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 340 KB Output is correct
2 Correct 13 ms 1284 KB Output is correct