题目描述
小爱有 $n$ 只 Pokemon(神奇宝贝),每只 Pokemon 有三个属性:
+ 攻击力,编号为 $i$ 的 Pokemon 的攻击力记为 $a_i$;
+ 能力值,编号为 $i$ 的 Pokemon 的能力值记为 $b_i$;
+ 经验值,编号为 $i$ 的 Pokemon 的经验值记为 $e_i$。
战斗共进行 $k$ 轮,每轮需要选择一只 Pokemon 出场,规则要求上场的 Pokemon 的编号应大于上一只出场的 Pokemon 的编号。
战斗开始前,所有 Pokemon 的经验值均为 $1$。第 $i$ 只 Pokemon 上场时,将会对敌人造成 $a_i\times e_i$ 点伤害,当它下场后,将会为所有尚未出场的 Pokemon 提供 $b_i$ 点经验值。
请问小爱该如何安排 Pokemon 的出场顺序,使得对敌人造成的伤害总和达到最大?
输入
第一行:两个整数 $n$ 和 $k$;
第二行到第 $n+1$ 行:第 $i+1$ 行有两个整数表示 $a_i$ 和 $b_i$。
输出
单个整数,表示造成的最大伤害之和。
样例输入输出
提示
+ 对于 $30\%$ 的数据,$1 \leq n \leq 10$;
+ 对于 $100\%$ 的数据,$1 \leq k \leq n \leq 80$,$1 \leq a_i \leq 1000$,$1\leq b_i\leq 500$。
样例1说明:选第1只和第3只
3+(1+3)*3=15