結果
問題 |
No.2402 Dirty Stairs and Shoes
|
ユーザー |
|
提出日時 | 2023-08-05 16:23:17 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 106 ms / 2,000 ms |
コード長 | 769 bytes |
コンパイル時間 | 198 ms |
コンパイル使用メモリ | 82,376 KB |
実行使用メモリ | 98,488 KB |
最終ジャッジ日時 | 2024-12-20 02:48:22 |
合計ジャッジ時間 | 3,469 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
n, k = map(int, input().split()) input() A = list(map(int, input().split())) input() B = list(map(int, input().split())) X = [0] * (n + 1) for a in A: X[a] = 1 for b in B: X[b] = 2 dp = [[False] * 2 for _ in range(n + 1)] dp[0][0] = True for i in range(1, n + 1): if X[i] == 0: dp[i][0] = dp[i - 1][0] dp[i][1] = dp[i - 1][1] if i >= k: dp[i][0] |= dp[i - k][0] dp[i][1] |= dp[i - k][1] elif X[i] == 1: dp[i][1] = dp[i - 1][0] | dp[i - 1][1] if i >= k: dp[i][1] |= dp[i - k][0] | dp[i - k][1] else: dp[i][0] = dp[i - 1][0] | dp[i - 1][1] if i >= k: dp[i][0] |= dp[i - k][0] | dp[i - k][1] if dp[n][0]: print("Yes") else: print("No")