提出 #51850312


ソースコード 拡げる

#include<bits/stdc++.h>
#define int long long
using namespace std;
int a,b,C;
signed main()
{
    cin >> a >> b >> C;
    int cnt = 0;
    for(int i = 60;i >= 0;i--)
    {
        if(C & (1ll << i))
        {
            cnt++;
        }
    }
    for(int i = 0;i <= 62;i++)
    {
        if(a - i + b - i == cnt)
        {
            int A = 0,B = 0;
            int cntB = b - i;
            int less = i;
            for(int j = 0;j <= 62;j++)
            {
                if(!(C & (1ll << j)))
                {
                    if(less)
                    {
                        A += (1ll << j);
                        B += (1ll << j);
                        less--;
                    }
                    continue;
                }
                if(cntB)
                {
                    B += (1ll << j);
                    cntB--;
                }
                else
                {
                    A += (1ll << j);
                }
            }
            if(__popcount(A) == a && __popcount(B) == b && (A ^ B) == C)return cout << A << " " << B << '\n',0;
        }
    }
    cout << -1;
    return 0;
}

提出情報

提出日時
問題 D - Popcount and XOR
ユーザ feather_life
言語 C++ 20 (gcc 12.2)
得点 400
コード長 1197 Byte
結果 AC
実行時間 1 ms
メモリ 3656 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 47
セット名 テストケース
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
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3656 KiB
00_sample_01.txt AC 1 ms 3436 KiB
00_sample_02.txt AC 1 ms 3652 KiB
01_random_03.txt AC 1 ms 3652 KiB
01_random_04.txt AC 1 ms 3500 KiB
01_random_05.txt AC 1 ms 3588 KiB
01_random_06.txt AC 1 ms 3444 KiB
01_random_07.txt AC 1 ms 3520 KiB
01_random_08.txt AC 1 ms 3464 KiB
01_random_09.txt AC 1 ms 3492 KiB
01_random_10.txt AC 1 ms 3652 KiB
01_random_11.txt AC 1 ms 3572 KiB
01_random_12.txt AC 1 ms 3496 KiB
01_random_13.txt AC 1 ms 3452 KiB
01_random_14.txt AC 1 ms 3496 KiB
01_random_15.txt AC 1 ms 3656 KiB
01_random_16.txt AC 1 ms 3452 KiB
01_random_17.txt AC 1 ms 3436 KiB
01_random_18.txt AC 1 ms 3648 KiB
01_random_19.txt AC 1 ms 3456 KiB
01_random_20.txt AC 1 ms 3488 KiB
01_random_21.txt AC 1 ms 3500 KiB
01_random_22.txt AC 1 ms 3452 KiB
01_random_23.txt AC 1 ms 3496 KiB
01_random_24.txt AC 1 ms 3368 KiB
01_random_25.txt AC 1 ms 3500 KiB
01_random_26.txt AC 1 ms 3504 KiB
01_random_27.txt AC 1 ms 3436 KiB
01_random_28.txt AC 1 ms 3476 KiB
01_random_29.txt AC 1 ms 3496 KiB
01_random_30.txt AC 1 ms 3504 KiB
01_random_31.txt AC 1 ms 3492 KiB
01_random_32.txt AC 1 ms 3492 KiB
01_random_33.txt AC 1 ms 3580 KiB
01_random_34.txt AC 1 ms 3644 KiB
01_random_35.txt AC 1 ms 3504 KiB
01_random_36.txt AC 1 ms 3496 KiB
01_random_37.txt AC 1 ms 3572 KiB
01_random_38.txt AC 1 ms 3564 KiB
01_random_39.txt AC 1 ms 3440 KiB
01_random_40.txt AC 1 ms 3396 KiB
01_random_41.txt AC 1 ms 3376 KiB
01_random_42.txt AC 1 ms 3576 KiB
01_random_43.txt AC 1 ms 3492 KiB
01_random_44.txt AC 1 ms 3500 KiB
01_random_45.txt AC 1 ms 3500 KiB
01_random_46.txt AC 1 ms 3452 KiB