垃圾装袋
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
某城市环卫部门需要处理n堆垃圾,现有m个垃圾袋可用。具体规则如下:
- 容量为v的垃圾袋最多装入容量不超过v的垃圾;
- 一堆垃圾只能用一个垃圾袋装,一个垃圾袋也只能装一堆垃圾;
- 垃圾袋的价格等于其容量。 请计算将所有垃圾全部装袋的最少总花费,若无法装下所有垃圾则输出-1。
输入格式
共3行。 第1行两个正整数n和m,分别表示垃圾的堆数和垃圾袋的数量。 第2行n个整数,依次表示每堆垃圾的大小。 第3行m个整数,依次表示每个垃圾袋的容量。
输出格式
输出一行整数。若能将所有垃圾装袋,输出最少总花费;若无法装下,输出-1。
数据范围
1 ≤ n, m ≤ 50000,每个垃圾的容量和每个垃圾袋的容量均不超过10000。
样例输入
3 4
3 6 4
4 5 7 3
样例输出
14
样例解释
大小为3的垃圾用容量3的垃圾袋(价格3),大小为6的垃圾用容量7的垃圾袋(价格7),大小为4的垃圾用容量4的垃圾袋(价格4)。总花费为3+7+4=14。