結果
問題 | No.2402 Dirty Stairs and Shoes |
ユーザー |
![]() |
提出日時 | 2023-09-04 22:27:54 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 154 ms / 2,000 ms |
コード長 | 1,044 bytes |
コンパイル時間 | 127 ms |
コンパイル使用メモリ | 82,100 KB |
実行使用メモリ | 110,464 KB |
最終ジャッジ日時 | 2024-06-22 19:53:57 |
合計ジャッジ時間 | 4,183 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
from collections import defaultdict N, K = map(int, input().split()) M_1 = int(input()) A = list(map(int, input().split())) d_a = defaultdict(int) for i in range(M_1): d_a[A[i]] += 1 M_2 = int(input()) B = list(map(int, input().split())) d_b = defaultdict(int) for i in range(M_2): d_b[B[i]] += 1 dp = [[False, False] for i in range(N + 1)] dp[0][0] = True for i in range(N): if dp[i][0]: if i+1 <= N: if i+1 in d_a: dp[i+1][1] = True else: dp[i+1][0] = True if i+K <= N: if i+K in d_a: dp[i+K][1] = True else: dp[i+K][0] = True if dp[i][1]: if i+1 <= N: if i+1 in d_b: dp[i+1][0] = True else: dp[i+1][1] = True if i+K <= N: if i+K in d_b: dp[i+K][0] = True else: dp[i+K][1] = True if dp[N][0]: print("Yes") else: print("No")