Submission #51826943


Source Code Expand

/**
 *  @the_hyp0cr1t3
 *  30.03.2024 17:36
**/
#include <bits/stdc++.h>

using i64 = long long;

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

    int a, b;
    i64 C;
    std::cin >> a >> b >> C;
    int aa = a, bb = b;

    int c = __builtin_popcountll(C);
    if (a + b < c or (a + b) % 2 != c % 2) {
        std::cout << -1 << '\n';
        return 0;
    }

    int d = (a + b - c) / 2;
    a -= d, b -= d;

    i64 X = 0, Y = 0;
    for (int i = 0; i < 60; i++) {
        if (C >> i & 1) {
            if (a > 0) {
                X |= 1LL << i;
                --a;
            } else {
                Y |= 1LL << i;
                --b;
            }
            --c;
        } else if (d > 0) {
            X |= 1LL << i;
            Y |= 1LL << i;
            --d;
        }
    }

    if (a > 0 or b > 0 or c > 0 or d > 0) {
        std::cout << -1 << '\n';
        return 0;
    }

    assert(__builtin_popcountll(X) == aa);
    assert(__builtin_popcountll(Y) == bb);
    assert((X ^ Y) == C);
    std::cout << X << ' ' << Y << '\n';
}

Submission Info

Submission Time
Task D - Popcount and XOR
User the_hyp0cr1t3
Language C++ 20 (gcc 12.2)
Score 400
Code Size 1121 Byte
Status AC
Exec Time 1 ms
Memory 3596 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 47
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3300 KiB
00_sample_01.txt AC 1 ms 3424 KiB
00_sample_02.txt AC 1 ms 3492 KiB
01_random_03.txt AC 1 ms 3360 KiB
01_random_04.txt AC 1 ms 3444 KiB
01_random_05.txt AC 1 ms 3492 KiB
01_random_06.txt AC 1 ms 3488 KiB
01_random_07.txt AC 1 ms 3408 KiB
01_random_08.txt AC 1 ms 3436 KiB
01_random_09.txt AC 1 ms 3408 KiB
01_random_10.txt AC 1 ms 3456 KiB
01_random_11.txt AC 1 ms 3396 KiB
01_random_12.txt AC 1 ms 3460 KiB
01_random_13.txt AC 1 ms 3452 KiB
01_random_14.txt AC 1 ms 3448 KiB
01_random_15.txt AC 1 ms 3456 KiB
01_random_16.txt AC 1 ms 3452 KiB
01_random_17.txt AC 1 ms 3356 KiB
01_random_18.txt AC 1 ms 3496 KiB
01_random_19.txt AC 1 ms 3444 KiB
01_random_20.txt AC 1 ms 3416 KiB
01_random_21.txt AC 1 ms 3484 KiB
01_random_22.txt AC 1 ms 3496 KiB
01_random_23.txt AC 1 ms 3352 KiB
01_random_24.txt AC 1 ms 3460 KiB
01_random_25.txt AC 1 ms 3392 KiB
01_random_26.txt AC 1 ms 3296 KiB
01_random_27.txt AC 1 ms 3464 KiB
01_random_28.txt AC 1 ms 3408 KiB
01_random_29.txt AC 1 ms 3428 KiB
01_random_30.txt AC 1 ms 3596 KiB
01_random_31.txt AC 1 ms 3404 KiB
01_random_32.txt AC 1 ms 3392 KiB
01_random_33.txt AC 1 ms 3388 KiB
01_random_34.txt AC 1 ms 3388 KiB
01_random_35.txt AC 1 ms 3408 KiB
01_random_36.txt AC 1 ms 3292 KiB
01_random_37.txt AC 1 ms 3292 KiB
01_random_38.txt AC 1 ms 3292 KiB
01_random_39.txt AC 1 ms 3596 KiB
01_random_40.txt AC 1 ms 3356 KiB
01_random_41.txt AC 1 ms 3412 KiB
01_random_42.txt AC 1 ms 3416 KiB
01_random_43.txt AC 1 ms 3408 KiB
01_random_44.txt AC 1 ms 3360 KiB
01_random_45.txt AC 1 ms 3444 KiB
01_random_46.txt AC 1 ms 3468 KiB