結果

問題 No.1350 2019-6problem
コンテスト
ユーザー ntuda
提出日時 2025-03-22 09:50:52
言語 PyPy3
(8.0.0 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WJ  
(最新)
AC  
(最初)
実行時間 -
コード長 449 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
最終ジャッジ日時 2026-10-16 03:12:52
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)

ソースコード

diff #
raw source code

from math import lcm

A, B, K = map(int, input().split())
if A > B:
    A, B = B, A

lcmv = lcm(A, B)
a = lcmv // A
b = lcmv // B

d = a + b - 1
ans = K // d * lcmv
k = K % d

if k == 0:
    print(ans)
    exit()

lb = 0
ub = k + 1

while ub - lb > 1:
    mid = (ub + lb) // 2
    if A * mid < B * (k - mid):
        lb = mid
    else:
        ub = mid

if A * lb + A < B * (k - lb):
    ans += A * (lb + 1)
else:
    ans += B * (k - lb)
print(ans)
0