結果
問題 |
No.733 分身並列コーディング
|
ユーザー |
![]() |
提出日時 | 2021-01-28 23:53:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 441 ms / 1,500 ms |
コード長 | 474 bytes |
コンパイル時間 | 448 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 67,840 KB |
最終ジャッジ日時 | 2024-06-26 07:34:57 |
合計ジャッジ時間 | 11,718 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 46 |
ソースコード
import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) T = int(input()) N = int(input()) A = [int(input()) for _ in range(N)] dp = [N] * (1 << N) dp[0] = 0 for S in range(1, 1 << N): time = 0 for i, t in enumerate(A): if (S >> i) & 1: time += t if time <= T: dp[S] = 1 for S in range(1, 1 << N): T = S while T: dp[S] = min(dp[S], dp[T] + dp[S ^ T]) T = (T - 1) & S print(dp[(1 << N)-1])