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 |
|
|
| 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 |