結果
| 問題 | No.2259 Gas Station |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-04-21 16:09:18 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 39 ms / 2,000 ms |
| コード長 | 801 bytes |
| コンパイル時間 | 117 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 11,648 KB |
| 最終ジャッジ日時 | 2024-11-06 10:51:50 |
| 合計ジャッジ時間 | 1,993 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 |
ソースコード
from typing import Tuple
def validate_input(L: int, R: int, C: int) -> Tuple[int, int, int]:
"""
引数のバリデーションを行う関数
"""
assert 1 <= L <= R, f"Invalid L: {L}"
assert L <= R <= 10**9, f"Invalid R: {R}"
assert 1 <= C <= 10**9, f"Invalid C: {C}"
return L, R, C
def min_change(L: int, R: int, C: int) -> int:
"""
お釣りの最小値を求める関数
"""
L, R, C = validate_input(L, R, C)
min_change = 1000
for x in range(L, R + 1):
cost = x * C
change = 1000 - cost % 1000
if cost % 1000 == 0:
return 0
if change < min_change:
min_change = change
return min_change if min_change != 1000 else 0
L, R, C = map(int, input().split())
print(min_change(L, R, C))