Incredible Okashi Inc. は「途方もなくおいしいお菓子 (incredible okashi)」を製作している会社である.ここでは略して IOI 社 と呼ぶ.IOI 社 は特製の IOI 饅頭 を作ったので,それを販売することになった.IOI 社 は 種類の饅頭を 1 個ずつ作った.作られた 個の饅頭はすべて同じ大きさであるが,ひとつひとつ異なる味なので価格は様々であり, 番目 () の饅頭の価格は 円である.
ところで,あなたは Just Odd Inventions 社を知っているだろうか?この会社の業務は「ただ奇妙な発明 (just odd inventions)」をすることである.ここでは略して JOI 社 と呼ぶ.IOI 社 は,饅頭を詰めるための高級な箱を JOI 社 に発注することになった.JOI 社 の製作する饅頭用の箱は 種類あり, 番目 () の箱は最大で 個の饅頭を詰められる大きさであり,販売価格は 円である.これらの 種類の箱のうちの何種類か (0 種類以上 種類以下) を 1 個ずつ発注し,饅頭をそれらの箱に詰め分けてセットで販売することになった.各饅頭セットの価格は,それに含まれる饅頭の価格の合計である.
すべての饅頭セットが売れるとした場合,IOI 社 が得ることができる利益の最大値はいくらだろうか.ここで利益とは,販売した饅頭セットの価格の合計から,発注した箱の価格の合計を引いた値である.なお,箱に詰めなかった饅頭については,IOI 社 のスタッフがおいしくいただくため,利益には影響しないものとする.
課題
各饅頭の価格と,各箱の大きさと価格が与えられたとき,IOI 社 が得ることができる利益の最大値を求めるプログラムを作成せよ.