4783 - 2022苏州市小学信息学奥赛T3-城堡

小苏很喜欢玩搭积木的游戏(积木为边长为 1 的立方体),他想在长方形的桌面上用积木搭一座城堡。这个桌面长为 K,宽为 L,他将这个桌面分成 K×L 个小方块,每个小方块可放若干个积木,若某个小方块上积木个数为 N(N≥1),则这些积木只能组成一个底面积为 1,高为 N 的长方体,放在桌面上。 小苏已构思好他的城堡,但不知道能否按照构思搭出这座城堡。 构思是这样的:从正前方向正后方,以及从左方向右方分别观察这座城堡,不管从哪个角度观察,从左向右数,他依次可以看到每一列上最高的积木的高度,现在他设计好了这些最高高度,请你根据他的数据来搭城堡。若能,则计算出所有可能搭出的城堡中需要积木块数的最小值和最大值。若不能,输出-1

输入

第一行两个数字 K 和 L,分别表示桌面的长和宽。 接下来 K 行,每行一个数字,表示从前面向后面看,从左向右依次所能看到的每一列上积木搭的最大高度 H。 再接下来 L 行,每行一个数字,表示从左方向右方看,从左向右依次所能看到的每一列上积木搭的最大高度 H。

输出

共一行,两个值分别是所需积木的最小和最大值,数据之间用一 个空格格开。若无解输出-1。

样例

输入

4 3
1 
3
4
2
1
4
2

输出

10 21

输入

2 2
4 
1
1 
3

输出

-1

提示

【数据规模】 对于 40%数据:1≤K,L≤1000,0≤H≤5000; 对于 100%数据:1≤K,L≤100000,0≤H≤5000。

时间限制 1 秒
内存限制 256 MB
讨论 统计
上一题 下一题