結果
問題 |
No.1083 余りの余り
|
ユーザー |
![]() |
提出日時 | 2020-06-19 22:37:12 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 492 bytes |
コンパイル時間 | 148 ms |
コンパイル使用メモリ | 82,720 KB |
実行使用メモリ | 333,144 KB |
最終ジャッジ日時 | 2024-07-03 15:10:48 |
合計ジャッジ時間 | 10,532 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 TLE * 1 -- * 10 |
ソースコード
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)