CF1132B.Discounts
入门
通过率:0%
时间限制:2.50s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You came to a local shop and want to buy some chocolate bars. There are n bars in the shop, i-th of them costs ai coins (and you want to buy all of them).
You have m different coupons that allow you to buy chocolate bars. i-th coupon allows you to buy qi chocolate bars while you have to pay only for the qi−1 most expensive ones (so, the cheapest bar of those qi bars is for free).
You can use only one coupon; if you use coupon i, you have to choose qi bars and buy them using the coupon, and buy all the remaining n−qi bars without any discounts.
To decide which coupon to choose, you want to know what will be the minimum total amount of money you have to pay if you use one of the coupons optimally.
你来到一家本地商店,想购买一些巧克力棒。店里共有 n 根巧克力棒,其中第 i 根的价格为 ai 枚硬币(你打算全部买下)。
你手上有 m 张不同的优惠券,可用于购买巧克力棒。第 i 张优惠券允许你购买 qi 根巧克力棒,但你只需支付其中最贵的 qi−1 根的价格(即这 qi 根中最便宜的一根免费)。
你最多只能使用一张优惠券;若使用第 i 张优惠券,则必须从中挑选出恰好 qi 根巧克力棒并用该优惠券购买,其余 n−qi 根则需按原价全额购买,不享受任何折扣。
为了决定选择哪张优惠券,你想知道:若恰当地使用其中一张优惠券,你所需支付的最少总金额是多少?
输入格式
The first line contains one integer n (2≤n≤3⋅105) — the number of chocolate bars in the shop.
The second line contains n integers a1, a2, ..., an (1≤ai≤109), where ai is the cost of i-th chocolate bar.
The third line contains one integer m (1≤m≤n−1) — the number of coupons you have.
The fourth line contains m integers q1, q2, ..., qm (2≤qi≤n), where qi is the number of chocolate bars you have to buy using i-th coupon so that the least expensive of them will be for free. All values of qi are pairwise distinct.
第一行包含一个整数 n(2≤n≤3⋅105)—— 商店中巧克力棒的数量。
第二行包含 n 个整数 a1, a2, ..., an(1≤ai≤109),其中 ai 表示第 i 根巧克力棒的价格。
第三行包含一个整数 m(1≤m≤n−1)—— 你拥有的优惠券数量。
第四行包含 m 个整数 q1, q2, ..., qm(2≤qi≤n),其中 qi 表示使用第 i 张优惠券时需购买的巧克力棒数量,此时其中最便宜的一根将免费。所有 qi 的值两两不同。
输出格式
Print m integers, i-th of them should be the minimum amount of money you have to pay if you buy qi bars with i-th coupon, and all the remaining bars one by one for their full price.
输出 m 个整数,其中第 i 个整数表示:使用第 i 个优惠券购买 qi 块巧克力,并以全价逐一购买其余所有巧克力时,所需支付的最少金额。
输入输出样例
输入#1
7 7 1 3 1 4 10 8 2 3 4
输出#1
27 30
说明/提示
Consider the first example.
If we use the first coupon, we may choose chocolate bars having indices 1, 6 and 7, and we pay 18 coins for them and 9 coins for all other bars.
If we use the second coupon, we may choose chocolate bars having indices 1, 5, 6 and 7, and we pay 25 coins for them and 5 coins for all other bars.
考虑第一个例子。
如果我们使用第一张优惠券,可以选择索引为 1、6 和 7 的巧克力棒,为此支付 18 枚金币,其余所有巧克力棒支付 9 枚金币。
如果我们使用第二张优惠券,可以选择索引为 1、5、6 和 7 的巧克力棒,为此支付 25 枚金币,其余所有巧克力棒支付 5 枚金币。
输入解题思路,AI测评打分。不知道怎么写?