#P15812. [JOI 2014 Final] IOI 饅頭
[JOI 2014 Final] IOI 饅頭
Description
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 社 が得ることができる利益の最大値を求めるプログラムを作成せよ.
Input Format
標準入力から以下のデータを読み込め.
- 1 行目には,整数 が空白を区切りとして書かれており,饅頭が 個,箱が 種類あることを表す.
- 続く 行のうちの 行目 () には,整数 が書かれており, 番目の饅頭の価格が 円であることを表す.
- 続く 行のうちの 行目 () には,整数 が空白を区切りとして書かれており, 番目の箱は最大で 個の饅頭を詰められる大きさであり,価格が 円であることを表す.
Output Format
標準出力に,IOI 社 が得られる利益の最大値を円単位で表す整数を 1 行で出力せよ.
4 3
180
160
170
190
2 100
3 120
4 250
480
2 2
1000
2000
1 6666
1 7777
0
10 4
200
250
300
300
350
400
500
300
250
200
3 1400
2 500
2 600
1 900
450
Hint
入出力例 1
この例では,1 番目の箱 ( 円) と 2 番目の箱 ( 円) を発注し,たとえば 1 番目の箱に 1 番目の饅頭と 2 番目の饅頭を詰めて 円のセットとして販売,2 番目の箱に 3 番目の饅頭と 4 番目の饅頭を詰めて 円のセットとして販売すると,IOI 社 の利益は 円となる.
入出力例 2
この例では,利益を最大化するためには箱を全く買わないのがよい.
制限
すべての入力データは以下の条件を満たす.
- ()
- ()
- ()
小課題
小課題 1 [25 点]
を満たす.
小課題 2 [35 点]
() を満たす.
小課題 3 [40 点]
追加の制限はない.
京公网安备 11011102002149号