3791: 填数游戏(第三轮01)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:2

题目描述

白浅妹妹在玩一个填数游戏。

游戏的规则是这样的:一共有 n  个数和 n  个待填空位(每个数和每个空位一一对应), 白  浅妹妹手上有 m  个数(其中n  ≤  m),白浅妹妹可以从这  m  个数选取 n  个数填入空位中, 她可以得到的分数就是每个空位对应的数乘上白浅妹妹在空位上填入的数字的和。

现在白浅妹妹想问你,她可以得到的最大分数是多少? 注意:白浅妹妹必须将所有空格都填上数字。

大样例:sample.zip

输入

第一行两个数, n  和 m,分别代表代填空位有 n  个,白浅妹妹手上有 m  个数。 第二行 n  个数,表示第  i   个代填空位对应的数。

第三行 m  个数,表示白浅妹妹可以填入空位的数(每个数只能用一次)。

输出

一个数 ans  表示白浅妹妹可以得到的最大分数。

样例输入 复制

3 3
1 2 3
1 1 1

样例输出 复制

6

提示

【备注】

对于10%的数据,有1  ≤  n   ≤  m   ≤  10

对于50%的数据,有1  ≤  n   ≤  m   ≤  10^3

对于另外30%的数据,有1 ≤  n   =  m   ≤  10^5

对于100%的数据,有1  ≤  n   ≤  m   ≤   10^5, |ai |, |bi |  ≤  10^5


来源/分类