結果
問題 |
No.814 ジジ抜き
|
ユーザー |
![]() |
提出日時 | 2024-04-24 20:48:08 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 608 bytes |
コンパイル時間 | 419 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 65,024 KB |
最終ジャッジ日時 | 2024-11-07 05:48:05 |
合計ジャッジ時間 | 5,894 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | MLE * 3 |
other | MLE * 23 |
ソースコード
import sys readline=sys.stdin.readline def Bisect_Int(ok,ng,is_ok): while abs(ok-ng)>1: mid=(ok+ng)//2 if is_ok(mid): ok=mid else: ng=mid return ok import numpy as np N=int(readline()) K,L,D=[],[],[] for _ in range(N): k,l,d=map(int,readline().split()) K.append(k) L.append(l) D.append(d) K=np.array(K,dtype=np.int64) L=np.array(L,dtype=np.int64) D=np.array(D,dtype=np.int64) def is_ok(ans): where=np.where(ans>=L)[0] return np.sum(np.minimum(K[where],(ans-L[where]>>D[where])+1)%2)%2 ans=Bisect_Int(1<<60,-1,is_ok) print(ans)