結果
| 問題 |
No.176 2種類の切手
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-04-03 00:21:44 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 670 bytes |
| コンパイル時間 | 341 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 11,392 KB |
| 最終ジャッジ日時 | 2024-10-08 02:46:06 |
| 合計ジャッジ時間 | 2,788 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | RE * 3 |
| other | RE * 29 |
ソースコード
from fractions import gcd
A, B, T = map(int, input().split())
def solve(A, B, T):
if A >= T:
return A
if B >= T:
caseA = A * (T // A) + (A if T % A else 0)
return min(caseA, B)
if T % A == 0 or T % B == 0:
return T
g = gcd(A, B)
lcm = A * B // g
tlcm = (T // lcm) * lcm
residue = T - tlcm
if residue % B == 0:
return T
maxB = residue // B + 1
minAB = maxB * B
for b in range(0, minAB, B):
r = residue - b
if r % A == 0:
return T
AB = tlcm + b + (r // A) * A + A
if AB < minAB:
minAB = AB
return minAB
print(solve(A, B, T))