結果
問題 |
No.2918 Divide Applicants Fairly
|
ユーザー |
![]() |
提出日時 | 2024-10-12 00:21:02 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 632 bytes |
コンパイル時間 | 434 ms |
コンパイル使用メモリ | 82,108 KB |
実行使用メモリ | 375,712 KB |
最終ジャッジ日時 | 2024-10-12 00:21:33 |
合計ジャッジ時間 | 30,707 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 TLE * 1 -- * 30 |
ソースコード
from collections import * N = int(input()) R = list(map(int, input().split())) pre = defaultdict(int) M = sum(R) + 5 pre[0] = 1 << M for i in range(N): dp = defaultdict(int) for k, v in pre.items(): dp[k] |= v if k == 1: if (v >> (M + R[i])) & 1: print(0) exit() if k == -1: if (v >> (M - R[i])) & 1: print(0) exit() dp[k - 1] |= v >> R[i] dp[k + 1] |= v << R[i] dp, pre = pre, dp for i in range(1, M): if (pre[0] >> (M + i)) & 1: print(i) exit() print(pre)