結果
問題 | No.2099 [Cherry Alpha B] Time Machine |
ユーザー | ikoma |
提出日時 | 2022-10-14 22:01:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 679 ms / 2,000 ms |
コード長 | 616 bytes |
コンパイル時間 | 198 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 75,520 KB |
最終ジャッジ日時 | 2024-06-26 14:16:44 |
合計ジャッジ時間 | 9,916 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 72 |
ソースコード
T=int(input()) X,A=map(int,input().split()) Y,B=map(int,input().split()) def calc(na:int): x = A*na t=X*na if x <= T: return (T-x) + t d = x-T nb = (d+B-1)//B t += Y*nb x -= B*nb return t + (T-x) low = 0 high = 10**12 ans = 10**20 while low<high: c1 = (low*2+high)//3 c2 = (low+high*2)//3 t1 = calc(c1) t2 = calc(c2) if t1<t2: if high==c2:break high = c2 ans = min(ans, t1) else: if low==c1:break ans = min(ans, t2) low = c1 for i in range(10**7): t = calc(i) ans = min(ans, t) print(ans)