結果
| 問題 |
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)
ikoma