问题 6801 --炸弹

6801: 炸弹★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 34  解决: 9
[提交][状态][命题人:]

题目描述

    一伙坏蛋在商场里安装了一枚定时炸弹,定时器初始设置为b秒。每秒钟,定时器的值减1,当定时器的值为0时炸弹就会爆炸。为了给商场里面的人群足够的撤离时间,身为拆弹专家的你被安排去尽量延迟炸弹的爆炸时间。

    为此,你的战友们为你准备了n件工具,每件工具只能使用1次。如果你使用了第i件工具,定时器的值可以增加xi秒。另外,由于定时器的自身限制,定时器的最大值只能为a(即如果增加xi秒后值大于a,则强制设置为a)。

    另外强调,每秒钟事件的发生顺序如下:

1)你选择一件工具(未使用过)并使用该工具,从而可以增加定时器的值。假如你选择使用第i件工具,使用工具前定时器的值为c秒,则使用该工具后定时器的值为:min(c+xi,a).

    (2)定时器的值减1.

    (3)如果定时器的值为0,则炸弹立即爆炸。

    请问,商场人员撤离的最长时间是多少?即炸弹最多在多少秒之后会爆炸。

输入

第一行一个整数t1t2000):测试样例数;

每个测试样例2行:

第一行三个整数a,bn1ba1092n100):a为定时器的最大值,b为定时器的初始值,n为你可以使用的工具数量;

第二行共n个整数x1,x2,…,xn(1xi1e9)xi为使用第i件工具可以增加的时间;

输出

输出共t行,每个测试样例一行一个整数,为商场人员撤离的最长时间;

样例输入
Copy
2
5 3 3
1 1 7
7 1 5
1 2 5 6 8
样例输出
Copy
9
21

提示

假设c为定时器的值,对于第一个测试样例,定时器的初始值为3,即c=3

1秒:可以选择使用工具1和工具2c=3+1+1=5;然后定时器减1c=4;

234秒:每秒定时器都减1,则c=4-3=1

5秒,选择使用工具3c=5;然后定时器减1c=4;

678秒:每秒定时器都减1,则c=4-3=1

9秒,定时器减1c=1-1=0;炸弹爆炸。

因此,最大逃生时间为9秒。无论我们怎么安排使用工具的顺序和时间,没有比9更大的值了。

来源

[提交][状态]