#P5124. 垃圾装袋

垃圾装袋

题目描述

某城市环卫部门需要处理 nn 堆垃圾,现有 mm 个垃圾袋可用。具体规则如下:

  1. 容量为 vv 的垃圾袋最多可装入容量不超过 vv 的垃圾;
  2. 一堆垃圾只能用一个垃圾袋装,一个垃圾袋也只能装一堆垃圾;
  3. 垃圾袋的价格等于其容量。

请计算将所有垃圾全部装袋的最少总花费。若无法装下所有垃圾,则输出 1-1

输入格式

第一行两个正整数 nnmm,分别表示垃圾的堆数和垃圾袋的数量。

第二行 nn 个整数,依次表示每堆垃圾的大小。

第三行 mm 个整数,依次表示每个垃圾袋的容量。

输出格式

输出一行一个整数。若能将所有垃圾装袋,输出最少总花费;若无法装下,输出 1-1

样例

3 4
3 6 4
4 5 7 3
14

样例解释

大小为 33 的垃圾用容量 33 的垃圾袋(价格 33),大小为 66 的垃圾用容量 77 的垃圾袋(价格 77),大小为 44 的垃圾用容量 44 的垃圾袋(价格 44)。总花费为 3+7+4=143 + 7 + 4 = 14

数据范围

  • 1n,m500001 \le n, m \le 50000
  • 每堆垃圾的大小和每个垃圾袋的容量均不超过 1000010000