結果
問題 |
No.1242 高橋君とすごろく
|
ユーザー |
![]() |
提出日時 | 2020-10-03 11:48:21 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 48 ms / 2,000 ms |
コード長 | 1,356 bytes |
コンパイル時間 | 262 ms |
コンパイル使用メモリ | 82,120 KB |
実行使用メモリ | 59,264 KB |
最終ジャッジ日時 | 2024-07-20 02:53:06 |
合計ジャッジ時間 | 2,383 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 24 |
ソースコード
import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) def main(): mod=10**9+7 N,K=MI() A=LI() for i in range(K): A[i]-=1 new=[-1] for i in range(K): for j in range(i+1,K): a=abs(A[i] - A[j]) temp=-1 if a==1:# 3,4,新しくできたところより8つ以上下がるとx temp=min(A[i],A[j])-3 -8 elif a==3:# 2,5,新しくできたところより3つ以上下がるとx temp=min(A[i],A[j])-2 -3 elif a==5:# 1,6 新しくできたところより8つ以上下がるとx temp=min(A[i],A[j])-1 -8 new.append(temp) # 小さいところはきちんとやる必要あり M=100 aaa=[0]*(M+6) for a in A: if a>=M: break aaa[a]=1 for i in range(M,-1,-1): if aaa[i+1] and aaa[i+6]: aaa[i]=1 elif aaa[i+2] and aaa[i+5]: aaa[i]=2 elif aaa[i+3] and aaa[i+4]: aaa[i]=3 if aaa[0]: new.append(1) if max(new)>=1: print("No") else: print("Yes") main()