結果
問題 |
No.814 ジジ抜き
|
ユーザー |
![]() |
提出日時 | 2022-03-08 21:40:53 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 671 bytes |
コンパイル時間 | 274 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 38,672 KB |
最終ジャッジ日時 | 2024-07-23 21:33:04 |
合計ジャッジ時間 | 6,255 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 1 TLE * 1 -- * 21 |
ソースコード
import sys def II(): return int(sys.stdin.readline()) def LI(): return list(map(int, sys.stdin.readline().split())) n = II() kk, ll, dd = [], [], [] 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)