結果

問題 No.2404 Vertical Throw Up
ユーザー とりゐ
提出日時 2023-08-04 22:33:32
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 747 bytes
コンパイル時間 354 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 83,496 KB
最終ジャッジ日時 2024-10-14 20:33:58
合計ジャッジ時間 5,851 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other WA * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

from sys import stdin
input=lambda :stdin.readline()[:-1]

from heapq import heappop, heappush
hq=[]

def calc(L,R,t):
  #print(L,R,t,-a*(L-t)*(R-t))
  return -a*(L-t)*(R-t)

a=int(input())
q=int(input())
for _ in range(q):
  query=list(map(int,input().split()))
  if query[0]==1:
    s,t=query[1:]
    heappush(hq,((s+t),s,t))
  else:
    t=query[1]
    while len(hq)>=2:
      _,s1,t1=heappop(hq)
      if t1<t:
        continue
      _,s2,t2=heappop(hq)      
      if calc(s1,t1,t)>calc(s2,t2,t) or t<=s1:
        heappush(hq,(s1+t1,s1,t1))
        heappush(hq,(s2+t2,s2,t2))
        break
      else:
        heappush(hq,(s2+t2,s2,t2))

    ans=0
    if hq:
      _,s0,t0=hq[0]
      ans=max(ans,calc(s0,t0,t))
    print(ans)
    #print(hq,t)
0