結果
問題 |
No.1083 余りの余り
|
ユーザー |
![]() |
提出日時 | 2020-06-19 22:38:43 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 600 bytes |
コンパイル時間 | 237 ms |
コンパイル使用メモリ | 82,380 KB |
実行使用メモリ | 333,344 KB |
最終ジャッジ日時 | 2024-07-03 15:11:47 |
合計ジャッジ時間 | 11,106 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 TLE * 1 -- * 10 |
ソースコード
def main(): N, K = map(int, input().split()) A = list(map(int, input().split())) dp = [[0] * N for _ in range(1 << N)] for i, a in enumerate(A): dp[1 << i][i] = K % a for bit in range(1 << N): for i in range(N): if (bit >> i) & 1: for j, a in enumerate(A): if ~(bit >> j) & 1: bit_next = bit | (1 << j) dp[bit_next][j] = max(dp[bit_next][j], dp[bit][i] % a) ans = max(dp[(1 << N) - 1][i] for i in range(N)) print(ans) if __name__ == "__main__": main()