AOJ 0227 (Thanksgiving : お客様大感謝祭)
【問題】
https://onlinejudge.u-aizu.ac.jp/problems/0227
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0227
【解説】
野菜の数nと1つの袋に詰められる野菜の数mが与えられ、m個の野菜が入っている袋の中のうち最も安い野菜の金額を0として、野菜の金額の合計を求める。
金額の合計を最も安い金額とするためには、袋に詰めていない野菜のうち最も金額の高いm個を選び袋に詰めていけばよい。その場合、無料になる野菜は金額を高い順に取っていったうちのm×k(k=1,2,…,n÷m)番目である。0indexの配列とした場合、上記のindexは金額の降順で並べたもののうち、indexをmで割った余りがm-1となるものなので、その野菜以外の金額をsumすればよい。
【コード】