結果

問題 No.2423 Merge Stones
ユーザー hiryuN
提出日時 2023-08-12 15:15:26
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 947 bytes
コンパイル時間 354 ms
コンパイル使用メモリ 82,100 KB
実行使用メモリ 76,608 KB
最終ジャッジ日時 2024-11-20 00:54:44
合計ジャッジ時間 16,871 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 60 WA * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

n,k=map(int,input().split())
A=list(map(int,input().split()))
C=list(map(int,input().split()))
X=[0]*51
def m(A,B):
    for i in range(1,len(A)):
        if A[i]:
            for j in range(max(1,i-k),min(len(A)-1,i+k)+1):
                if B[j]:
                    return True
    return False
for i in range(n):
    Y=X[:]
    Y[C[i]]=1
    Y[0]=A[i]
    C[i]=Y
for i in range(n+2):
    for j in range(n):
        C[j]
        C[(j+1)%n]
        if m(C[j],C[(j+1)%n]):
            C[(j+1)%n][0]+=C[j][0]
            C[j][0]=0
            for ii in range(1,51):
                if C[(j+1)%n][ii]:
                    for jj in range(max(1,ii-k),min(50,ii+k)+1):
                        if C[j][jj]:
                            C[j][ii]=1
                if C[j][ii]:
                    C[(j+1)%n][ii]=1
                            
                    
ans=0                    
for i in range(n):
    ans=max(ans,C[i][0])
print(ans)
#print(C)
0