結果

問題 No.3223 K-XOR Increasing Sequence
ユーザー kidodesu
提出日時 2025-08-01 22:44:56
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 953 bytes
コンパイル時間 247 ms
コンパイル使用メモリ 82,844 KB
実行使用メモリ 828,940 KB
最終ジャッジ日時 2025-08-01 22:45:17
合計ジャッジ時間 18,301 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 52 MLE * 1 -- * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    n, k, x, y = map(int, input().split())
    if k == 1:
        Ans = [x] + [x+1+i for i in range(n-2)] + [y]
        if Ans[-2] < Ans[-1]:
            return Ans
        else:
            return []
    if y == 0:
        return []
    if x == 0:
        if k + 1 == n:
            return [x] + [0] * (n-2) * [y]
        Ans = [x] + [1] * (k-2) + [2]
        tmp = 0
        for a in Ans:
            tmp ^= a
            Ans.append(tmp)
        while n - 1 - len(Ans):
            Ans.append(Ans[-k])
        Ans.append(y)
        return Ans
    if not k % 2:
        Ans = [x] + [x] * (n-2) + [y]
        return Ans
    if x != 1:
        Ans = [x] + [1] * (k-2)
    else:
        Ans = [x] + [2] * (k-2)
    tmp = 0
    for a in Ans:
        tmp ^= a
    Ans.append(tmp)
    while n - 1 - len(Ans):
        Ans.append(Ans[-k])
    Ans.append(y)
    return Ans

Ans = main()
if Ans:
    print("Yes")
    print(*Ans)
else:
    print("No")
0