結果

問題 No.2099 [Cherry Alpha B] Time Machine
ユーザー LyricalMaestro
提出日時 2025-05-01 14:36:47
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 480 ms / 2,000 ms
コード長 909 bytes
コンパイル時間 382 ms
コンパイル使用メモリ 82,416 KB
実行使用メモリ 75,428 KB
最終ジャッジ日時 2025-05-01 14:37:00
合計ジャッジ時間 12,535 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 72
権限があれば一括ダウンロードができます

ソースコード

diff #

## https://yukicoder.me/problems/no/2099


def main():
    T = int(input())
    X, A = map(int, input().split())
    Y, B = map(int, input().split())

    # yが取りうる最小値を取得
    if T >= 0:
        y_min = 0
    else:
        y_min = (- T) // B + (1 if (-T) % B > 0 else 0)

    # 本処理
    min_answer = float("inf")
    t = (T + y_min * B) % A
    cost = y_min

    # 一発目
    xx = T + cost * B
    answer = cost * Y + t
    xx0 = xx - t
    a = xx0 // A
    answer += a * X
    min_answer = min(min_answer, answer)

    first = t 
    cost += 1
    t += B
    t %= A
    while t != first:
        xx = T + cost * B
        answer = cost * Y + t
        xx0 = xx - t
        a = xx0 // A
        answer += a * X
        min_answer = min(min_answer, answer)
        cost += 1
        t += B
        t %= A


    print(min_answer)

    


    



if __name__ == "__main__":
    main()
0