04 01農心ラーメン工場
1038 ワード
1)最大限度内で調達日目標を確定する
2)供給日目標から最低価格を抽出する
3)stockがkより小さい場合は、この操作を繰り返す
import heapq
ramen_stock = 4
supply_dates = [4, 10, 15]
supply_supplies = [20, 5, 10]
supply_recover_k = 30
def get_minimum_count_of_overseas_supply(stock, dates, supplies, k):
answer = 0
last_added_date_index = 0
max_heap = []
print(「正解=2/現在のプール値=」,get minimum count of overse supply(4,[4,10,15],[20,5,10],30)
print(「正しい=4/現在のプール値=」,get minimum count of overse supply(4,[4,10,15,20],[20,5],40)
print(「正解=1/現在のプール値=」,get minimum count of overse supply(2,[1,10],[1000],11)
2)供給日目標から最低価格を抽出する
3)stockがkより小さい場合は、この操作を繰り返す
import heapq
ramen_stock = 4
supply_dates = [4, 10, 15]
supply_supplies = [20, 5, 10]
supply_recover_k = 30
def get_minimum_count_of_overseas_supply(stock, dates, supplies, k):
answer = 0
last_added_date_index = 0
max_heap = []
while stock <= k:
while last_added_date_index < len(dates) and dates[last_added_date_index] <= stock:
heapq.heappush(max_heap, -supplies[last_added_date_index])
last_added_date_index += 1
answer += 1
heappop = heapq.heappop(max_heap)
stock += -heappop
return answer
print(get_minimum_count_of_overseas_supply(ramen_stock, supply_dates, supply_supplies, supply_recover_k))print(「正解=2/現在のプール値=」,get minimum count of overse supply(4,[4,10,15],[20,5,10],30)
print(「正しい=4/現在のプール値=」,get minimum count of overse supply(4,[4,10,15,20],[20,5],40)
print(「正解=1/現在のプール値=」,get minimum count of overse supply(2,[1,10],[1000],11)
Reference
この問題について(04 01農心ラーメン工場), 我々は、より多くの情報をここで見つけました https://velog.io/@bnow/41-농심-라면-공장テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol