結果
問題 |
No.2402 Dirty Stairs and Shoes
|
ユーザー |
|
提出日時 | 2023-07-13 20:50:17 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 108 ms / 2,000 ms |
コード長 | 641 bytes |
コンパイル時間 | 314 ms |
コンパイル使用メモリ | 82,392 KB |
実行使用メモリ | 99,368 KB |
最終ジャッジ日時 | 2024-12-20 02:21:44 |
合計ジャッジ時間 | 3,905 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
n,k=map(int,input().split()) m1=int(input()) a=list(map(int,input().split())) m2=int(input()) b=list(map(int,input().split())) dirt=[False for i in range(n+1)] mat=[False for i in range(n+1)] for i in range(m1): dirt[a[i]]=True for i in range(m2): mat[b[i]]=True dp=[[False,False] for i in range(n+1)] dp[0][0]=True for i in range(1,n+1): if dirt[i]: dp[i][1]=True elif mat[i]: dp[i][0]=True else: dp[i][0]=dp[i-1][0] dp[i][1]=dp[i-1][1] if i>=k: dp[i][0]=(dp[i-k][0] or dp[i][0]) dp[i][1]=(dp[i-k][1] or dp[i][1]) print("Yes") if dp[n][0] else print("No")