#5845. 书籍采购

书籍采购

题目描述

小 A 计划在一家大型书店购买书籍,准备参加学校的读书节。他携带了 CC 张书店赠送的购书卡。

书店的书架上摆放了 NN 本书籍,按照特定顺序排列,小 A 需要按此顺序购买。其中第 ii 本书的价格为 PiP_i 元。

在收银员扫码每本书的价格的过程中,小 A 可以:

  • 随时请收银员停下来,使用一张购书卡支付这一批扫码的书籍,支付的范围是从上次支付后到当前的所有书籍。
  • 所使用的购书卡,需确保购书卡面值足够支付这部分书籍的总价。
  • 如果使用的购书卡面值超过所需费用,店家不会退还差额,且不能用于下一批书籍的支付,该张购书卡使用后,会被书店回收。

请帮助小 A 计算,在购买完所有 NN 本书籍后,他能剩余的购书卡面值总和最大是多少,如果无论如何都无法完成所有购买,输出 1-1

输入格式

第一行包含两个整数 CCNN,分别表示购书卡数量和书籍数量。 接下来 CC 行,每行一个整数,表示一张购书卡的面值。 接下来 NN 行,每行一个整数,表示按顺序排列的每本书的价格 PiP_i

输出格式

输出一行,包含一个整数:小 A 在购买完所有书籍后能剩余的购书卡面值总和最大值,若无法完成所有购买,输出 1-1

样例输入 1

3 6 
12 
15 
10 
6 
3 
3 
2 
3 
7

样例输出 1

12

样例输入 2

6 6
15
20
25
10
30
20
5
10
15
10
20
25

样例输出 2

35

样例输入 3

3 7
90
30
20
15
25
10
20
30
25
15

样例输出 3

-1

样例说明

样例 1 说明: 小 A 有三张购书卡,面值分别为 121215151010,需要按顺序购买价格为 663333223377 的书籍。 一种最优方案是:

  • 使用面值 1010 的购书卡支付前两本书( 6+3=96 + 3 = 9)。
  • 使用面值 1515 的购书卡支付剩余四本书( 3+2+3+7=153 + 2 + 3 + 7 = 15)。
  • 剩余面值 1212 的购书卡。

因此,最大剩余面值总和为 1212

数据范围

  • 对于 40%40\% 的数据,满足 1C61 \le C \le 6
  • 对于 100%100\% 的数据,满足 1C161 \le C \le 161N1051 \le N \le 10^51Pi1041 \le P_i \le 10^4,购书卡面值范围为 [1,108][1, 10^8]