#joi2014ho2. [joi2014ho2]IOI 饅頭 (IOI Manju)
[joi2014ho2]IOI 饅頭 (IOI Manju)
Incredible Okashi Inc. は「途方もなくおいしいお菓子 (incredible okashi)」を製作している会社である.ここでは略して IOI 社と呼ぶ.IOI 社は特製の IOI 饅頭を作ったので,それを販売することになった.IOI 社は 種類の饅頭を 個ずつ作った.作られた 個の饅頭はすべて同じ大きさであるが,ひとつひとつ異なる味なので価格は様々であり, 番目 () の饅頭の価格は 円である.
ところで,あなたは Just Odd Inventions 社を知っているだろうか? この会社の業務は「ただ奇妙な発明 (just odd inventions)」をすることである.ここでは略して JOI 社と呼ぶ.IOI 社は,饅頭を詰めるための高級な箱を JOI 社に発注することになった.JOI 社の製作する饅頭用の箱は 種類あり, 番目 () の箱は最大で 個の饅頭を詰められる大きさであり,販売価格は 円である.これらの 種類の箱のうちの何種類か ( 種類以上 種類以下) を 個ずつ発注し,饅頭をそれらの箱に詰め分けてセットで販売することになった.各饅頭セットの価格は,それに含まれる饅頭の価格の合計である.
すべての饅頭セットが売れるとした場合,IOI 社が得ることができる利益の最大値はいくらだろうか.ここで利益とは,販売した饅頭セットの価格の合計から,発注した箱の価格の合計を引いた値である.なお,箱に詰めなかった饅頭については,IOI 社のスタッフがおいしくいただくため,利益には影響しないものとする.
課題
各饅頭の価格と,各箱の大きさと価格が与えられたとき,IOI 社が得ることができる利益の最大値を求めるプログラムを作成せよ.
入力
標準入力から以下のデータを読み込め.
- 行目には,整数 が空白を区切りとして書かれており,饅頭が 個,箱が 種類あることを表す.
- 続く 行のうちの 行目 () には,整数 が書かれており, 番目の饅頭の価格が 円であることを表す.
- 続く 行のうちの 行目 () には,整数 が空白を区切りとして書かれており, 番目の箱は最大で 個の饅頭を詰められる大きさであり,価格が 円であることを表す.
出力
標準出力に,IOI 社が得られる利益の最大値を円単位で表す整数を 行で出力せよ.
制限
すべての入力データは以下の条件を満たす.
- .
- .
- ().
- ().
- ().
小課題
小課題 1 [25 点]
を満たす.
小課題 2 [35 点]
() を満たす.
小課題 3 [40 点]
追加の制限はない.
入力例 1
4 3
180
160
170
190
2 100
3 120
4 250
出力例 1
480
この例では, 番目の箱 ( 円) と 番目の箱 ( 円) を発注し,たとえば 番目の箱に 番目の饅頭と 番目の饅頭を詰めて 円のセットとして販売, 番目の箱に 番目の饅頭と 番目の饅頭を詰めて 円のセットとして販売すると,IOI 社の利益は 円となる.
入力例 2
2 2
1000
2000
1 6666
1 7777
出力例 2
0
入力例 3
10 4
200
250
300
300
350
400
500
300
250
200
3 1400
2 500
2 600
1 900
出力例 3
450