#codefestival2018qualbb. [code_festival_2018_qualb_b]Tensai
[code_festival_2018_qualb_b]Tensai
配点: 点
問題文
CODE FESTIVAL 2015 本戦で, 「『天才』と書かれた大きな紙を持って立つ」という面白い行動をし, みんなを笑わせた人がいた.
そこで, CODE FESTIVAL 2018 本戦参加者の 人全員が同じ行動をして, 集合写真を撮ることにした.
それぞれの人は「字の綺麗さ」「顔の面白さ」の つの値を持ち, 番目の人の「字の綺麗さ」は , 「顔の面白さ」は である. 「写真の好感度」は, 全ての人の (字の綺麗さ) × (顔の面白さ) の合計になる.
本戦の参加者たちは, 「写真の好感度」を最大化しようと思った. 「顔の面白さ」は変えることはできないが, ある人が 回トレーニングをすると, この人の「字の綺麗さ」は 上がる.
全ての人のトレーニング回数の合計を 回以内にしなければならないとき, 写真の好感度の最大値を求めなさい.
制約
- は 以上 以下の整数
- は 以上 以下の整数
- は 以上 以下の整数
入力
入力は以下の形式で標準入力から与えられる.
出力
写真の好感度の最大値を出力しなさい.
入力例 1
3 1
12 10
24 20
36 5
出力例 1
800
なので, トレーニングできる回数は 回までである. したがって, 次の 通りの方法が考えられる.
- 誰もトレーニングしない場合:写真の好感度は
- 番目の人が 回トレーニングする場合:写真の好感度は
- 番目の人が 回トレーニングする場合:写真の好感度は
- 番目の人が 回トレーニングする場合:写真の好感度は
よって, 写真の好感度の最大値は である.
入力例 2
3 0
25 20
17 30
9 50
出力例 2
1460
なので, 誰もトレーニングできない. したがって, 写真の好感度は $25 \\times 20 + 17 \\times 30 + 9 \\times 50 = 1460$ となる.
入力例 3
3 3
3 25
5 12
7 25
出力例 3
385
例えば, 番目の人が 回, 番目の人が 回トレーニングすると, 写真の好感度 が達成できる.
また, 写真の好感度を より大きくすることはできない.