题目描述
刘老师购买一件价格为 元的商品,拿出一张 元纸币付款,却得知收款方无法找零。于是他改用一张 元和一张 元纸币,并不再索要多付的金额。
在一些不能使用银行卡、收款方又没有零钱的地方,付款人可能无法刚好付出商品价格,只能支付略高于价格的金额。你希望首先让实际支付金额尽可能小,但不得低于商品价格;在实际支付金额最小的前提下,还希望使用的硬币和纸币总数尽可能少。每张硬币或纸币最多使用一次。
输入格式
第一行包含测试数据组数 。
每组数据的第一行包含商品价格 ,单位为分,且 。
第二行包含一个整数 ,表示拥有的硬币和纸币数量,且 。
接下来 行,每行包含一个整数,表示一张硬币或纸币的面值,单位为分。每张的面值不超过 。输入保证所有钱的总面值不小于商品价格。
输出格式
对每组数据输出一行两个整数,分别表示实际支付的最小金额,以及在该金额下使用的最少硬币和纸币数量。
1
1400
3
500
1000
2000
1500 2
2
1140
6
5482
4765
824
5763
827
1920
6453
7
3304
5231
9909
7143
7531
4722
3447
1651 2
6751 2
3
2222
7
3170
9698
4017
1121
691
6296
1235
1899
8
9538
8606
2992
1988
7961
7593
3439
1414
2514
9
2557
6248
6522
3508
773
9034
2447
7295
5413
2356 2
1988 1
2557 1
说明/提示
数据范围与约定
- 每张硬币或纸币的面值不超过
- 所有钱的总面值不小于商品价格