考えて競プロする

プログラミングコンテストの問題をどう考えて解いたかを記録していくブログです。使用言語はPython3

ABC095-B - Bitter Alchemy を解く

ABC095-B - Bitter Alchemy

 

ドーナツを可能な限りたくさん作る問題

ただし、全種類最低一つは作る必要がある

 

まず全種類を一つずつ作り

その残金で一番安いドーナツを可能な限り作る、というやり方であれば

一番多くのドーナツを作ることができるはずだ

 

以上を踏まえて書いたコードを以下に示す

 

提出したコード

# 入力
N,X=map(int,input().split())

l=[]
for i in range(N):
  l.append(int(input()))

# 金額
a=0

# 個数
c=0

# 全種類一つずつ
a=sum(l)
c=len(l)

# 残金で一番安いものを可能な限り作る
c+=(X-a)//min(l)

# 出力
print(c)

 

提出結果はACでした