ABC085-B - Kagami Mochi を解く
ABC085-B - Kagami Mochi
「餅の上にさらに餅を置く場合は、より直径が小さい場合に限る」
というルールに従って、最大何段重ねの鏡餅をつくれるか、という問題
与えられた餅の直径を、大きい順にソートして
下から置いていくシミュレーションをして解いていく
途中で上に置く餅の直径が条件を満たさなくなった場合
その時点で終了とする
以上を踏まえて書いたコードを以下に示す
提出したコード
# 入力 N=int(input()) l=[] for i in range(N): l.append(int(input())) # 降順にソートする l.sort() l.reverse() # 餅の枚数(必ず1枚は置ける) c=1 # 下にある餅の直径 d=l[0] for x in l[1:]: # 下にある餅より直径が小さい場合は餅を置ける if x<d: # 下にある餅の直径の値を更新 d=x # 枚数をインクリメント c+=1 # 枚数を出力 print(c)
提出結果はACでした