結果
問題 |
No.814 ジジ抜き
|
ユーザー |
![]() |
提出日時 | 2022-03-08 21:49:02 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 718 bytes |
コンパイル時間 | 441 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 91,876 KB |
最終ジャッジ日時 | 2024-07-23 21:40:21 |
合計ジャッジ時間 | 6,466 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | MLE * 2 -- * 21 |
ソースコード
import sys def II(): return int(sys.stdin.readline()) def LI(): return list(map(int, sys.stdin.readline().split())) from array import array n = II() kk, ll, dd = array("Q"),array("Q"),array("I") mx = 0 for _ in range(n): k, l, d = LI() kk.append(k) ll.append(l) dd.append(d) mx = max(mx, l+(k-1)*2**d) def binary_search(l, r, ok, minimize): if minimize: l -= 1 else: r += 1 while l+1 < r: m = (l+r)//2 if ok(m) ^ minimize: l = m else: r = m if minimize: return r return l def ok(m): cnt = 0 for k, l, d in zip(kk, ll, dd): cnt += max(0, (m-l)//(1 << d)+1) return cnt & 1 == 0 ans = binary_search(-1, mx, ok, False) print(ans+1)