結果

問題 No.1083 余りの余り
ユーザー tanon710
提出日時 2020-06-20 00:10:00
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 622 bytes
コンパイル時間 202 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 216,984 KB
最終ジャッジ日時 2024-07-03 16:16:35
合計ジャッジ時間 12,199 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27 WA * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

n,k=map(int,input().split())
arr=list(map(int,input().split()))
vals=[[0]]
s=set()
s.add(0)
for i in range(1,n):
    tmp=[]
    for val in vals[-1]:
        for j in range(n):
            if val&(1<<j):
                continue
            if val+(1<<j) in s:
                continue
            tmp.append(val+(1<<j))
            s.add(val+(1<<j))
    vals.append(tmp)
v=[]
for i in range(n):
    for val in vals[i]:
        v.append(val)
v.append(2**n-1)
dp=[0]*(2**n)
dp[0]=k
for i in v:
    for j in range(n):
        if i&(1<<j):
            continue
        dp[i+(1<<j)]=max(dp[i+(1<<j)],dp[i]%arr[j])
print(dp[-1])
0