結果
| 問題 |
No.825 賢いお買い物
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-05-04 05:08:04 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 33 ms / 2,000 ms |
| コード長 | 1,017 bytes |
| コンパイル時間 | 789 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 10,880 KB |
| 最終ジャッジ日時 | 2024-06-11 07:37:53 |
| 合計ジャッジ時間 | 1,752 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 |
ソースコード
a,b,c=map(int,input().split())
def get_price(i: int) ->int:
price = (10 * b + a) - (10 * (c-i) + i)
return price
# index= = 購入後のaの値 となる 買った商品の購入額のリスト
plist=[0]*(c+1)
if a+b < c:
pind=0
for i in range(c+1):
plist[i]=get_price(i)
if plist[i] <= 0:
pind=i
if plist[pind] <= 0 and pind < c:
pind+=1
#途中で正に変わる場合の仕掛け
#チェックが必要
#変化後のa=pind 変化後のb=c-pind
price=plist[pind]
checka=a
checkb=b
defb=b-(c-pind)
checkb=c-pind
temp=10 * defb - price
checka+=temp%10
if b != 0:
checkb+=temp//b
if max(plist) <= 0:
print("Impossible")
elif (checka == pind and checkb == c-pind):
print(price)
else:
print("Impossible")
else:
pind=0
for i in range(c+1):
plist[i]=get_price(i)
if plist[i] <= 0:
pind=i
if plist[pind] <= 0 and pind < c:
pind+=1
price=plist[pind]
if price <= 0 :
print("Impossible")
else:
print(price)