1772:宇航员

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判 命题人:
提交:5 解决:2

题目描述

小A和小B最近玩《宇航员》(一款游戏)玩上了瘾。《宇航员》里有个任务,描述如下:

小A有 n 张牌,第 i 张牌上的点数是 A 小B有 m 张牌,第 i 张牌上的点数为 Bi 每张牌只能出一次。

虽然小A可以以任意顺序出牌,但小A决定按照发牌时确定好的顺序打牌。当小A出了一张牌后,小B可以选择出一张牌,但点数必须严格大于小A出的牌。或者小B也可以不出。

小A和小B需要合作,使得小B出牌的点数和尽可能大。

遗憾的是,小A和小B都不知道对方的牌点数是多少,所以不知道要怎么才能达成这个最大值。但你作为旁观者,你能看到二人的手牌,因此他们希望询问你:小B出牌点数总和,最大是多少?

输入

第一行,两个整数 n,m,分别表示小A和小B的牌数量。

第二行,n 个整数 Ai 表示小A的牌的点数。同时也代表了A发牌时的牌的顺序。

第三行,m 个整数 Bi 表示小B的牌的点数。

1<=n,m<=105 , 1<= Ai ,Bi <=109

输出

只有一行,一个整数,表示小B出牌的点数总和的最大值。

样例输入-1 复制

3 4
3 4 7
1 2 4 8

样例输出-1 复制

12

提示

一种使得小B打出的牌总和为12的方案如下:

  • 小A打出3,小B出4。
  • 小A打出4,小B选择不出。
  • 小A打出7,小B出8。
也有其它方案使得小B打出的牌总和为12。

因为小A的有的牌都不小于1或2,所以小B只能出 4 或 8。因此 12 是可能的最大值。