No.54

個お菓子を持った状態で 番目の家の後に 番目の家を訪れてお菓子をもらった方がより多くのお菓子をもらえる条件は,

となる. これを変形して,

となる. よって, が小さい順に訪問する方がより多くのお菓子をもらえるので, でソートしておいてこの順で訪問するかしないかを考えればいい.

番目の家まで訪れたときに 個お菓子をもらえるかどうかを すると,

となる. これを DP で計算し, となる最大の が答えとなる. もらえるお菓子の最大数は であるので, で計算できる.