結果
問題 |
No.3223 K-XOR Increasing Sequence
|
ユーザー |
![]() |
提出日時 | 2025-08-01 23:03:46 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 221 ms / 2,000 ms |
コード長 | 992 bytes |
コンパイル時間 | 197 ms |
コンパイル使用メモリ | 82,356 KB |
実行使用メモリ | 174,692 KB |
最終ジャッジ日時 | 2025-08-01 23:04:07 |
合計ジャッジ時間 | 20,435 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 70 |
ソースコード
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] if y == 1: return [] Ans = [x] + [2] * (k-2) + [4] tmp = 0 for a in Ans: tmp ^= a Ans.append(tmp+1) 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")