結果

問題 No.825 賢いお買い物
ユーザー lam6er
提出日時 2025-03-31 17:24:36
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 761 bytes
コンパイル時間 290 ms
コンパイル使用メモリ 82,556 KB
実行使用メモリ 61,640 KB
最終ジャッジ日時 2025-03-31 17:25:01
合計ジャッジ時間 1,966 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

A, B, C = map(int, input().split())

min_price = float('inf')

for x in range(A + 1):
    for y in range(B + 1):
        S = x + 10 * y
        if S == 0:
            continue
        D = C - (A + B) + x + y
        if D < 0:
            continue
        # Find maximum k <= S where (k//10 + k%10) == D
        max_k = -1
        for k_candidate in range(S, -1, -1):
            sum_coins = (k_candidate // 10) + (k_candidate % 10)
            if sum_coins == D:
                max_k = k_candidate
                break
        if max_k == -1:
            continue
        p = S - max_k
        if p <= 0:
            continue
        if p < min_price:
            min_price = p

if min_price != float('inf'):
    print(min_price)
else:
    print("Impossible")
0