问题 5205 --优惠券

5205: 优惠券★★

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

题目描述

商店里有n根巧克力棒,第i根巧克力棒的价格为ai元,喜欢吃巧克力的你想要将所有的巧克力棒都买下。为了省点钱,你收集了大量的优惠券。现在,你有m种不同的优惠券可以买巧克力棒。第i张优惠券可以让你购买qi根巧克力棒,但你只需要支付最昂贵的qi – 1根巧克力棒(也就是说,最便宜的那根巧克力棒是免费赠送的)

当然,聪明的店主也不想亏本。因此,您只能使用一张优惠券。如果您使用了第i张优惠券,您必须选择qi根巧克力棒并使用优惠券购买,并且按照原价购买剩余的n – qi根巧克力棒。

为了决定选择哪一张优惠券,你需要知道如果你最佳地使用了一张优惠券,你必须支付的最低总额是多少。

输入

第一行包含一个整数n(2≤n≤3*105),表示商店里的巧克力棒数量。

第二行包含n个整数a1, a2 an(1≤ai≤109),其中ai为第i根巧克力棒的价格。

第三行包含一个整数m(1≤m≤n1),表示您拥有的优惠券数量。

第四行包含m个整数q1, q2 qm(2≤qi≤n),其中qi是使用第i张优惠券购买的巧克力棒数量(当然,其中最便宜的那根巧克力棒可以免费获得)。所有的qi都是两两不同的。

输出

输出共m行,每行一个整数。第i行的整数是你用第i个优惠券购买qi条巧克力棒,然后以全价购买剩下的n-qi根巧克力棒时所需要支付的最低金额。

样例输入
Copy
7
7 1 3 1 4 10 8
2
3 4
样例输出
Copy
27
30

提示

对于第一张优惠券,q1=3,可以选择价格最高的3根巧克力棒10  8  7,第3根免费获得,只需要支付18元,剩下的4根需要支付1+3+1+4=9元,共支付27元。

对于第二张优惠券,q2=4,可以选择价格最高的4根:10  8  7  4,需要支付25元,剩下的3根需要支付5元,共30元。

来源

[提交][状态]