QOJ.ac

QOJ

시간 제한: 1.0 s 메모리 제한: 64 MB 총점: 50

#16392. TETA

통계

你发现自己扮演了一位在食堂工作的和蔼阿姨(收银员)。所有学生都觉得这位阿姨非常和蔼,其中一个重要原因就是她总是设法让你在食堂用餐时花尽可能少的钱。

她是具体怎么做的呢?其实策略非常简单。食堂里可以购买各种餐点,且它们的价格是已知的。每天食堂都会提供一份“套餐”。一份套餐包含 4 种餐点(通常是汤、主菜、配菜和甜点),但套餐的价格小于或等于其组成部分单点价格的总和。当阿姨发现,如果直接按一整份套餐的价格向你收费,比按你实际拿取的套餐内单品价格之和收费更便宜时,她就会这样做。这样你既能吃饱,口袋里又能省下更多的钱。

现在你端着托盘站在收银台前,想要知道自己需要支付多少钱。请编写一个程序来计算它!

请注意:如果更便宜的话,阿姨可以按多份套餐向你收费。

输入格式

第一行包含一个整数 $K$ ($1 \le K \le 20$),表示食堂中可以购买的餐点数量。为简单起见,我们将餐点用 $1$ 到 $K$ 的整数表示。

第二行包含 $K$ 个整数,第 $i$ 个数字表示编号为 $i$ 的餐点的价格。价格范围在 $[1, 250]$ 之间。

第三行包含一个整数 $X$ ($1 \le X < 1000$),表示套餐的价格。

第四行包含 4 个互不相同的整数,表示套餐中所包含的 4 种餐点的编号。

第五行包含一个整数 $T$ ($1 \le T \le 20$),表示你托盘中的餐点数量。

第六行包含你拿取的餐点列表。托盘中的餐点不一定两两不同,也就是说,可以拿取同一餐点的多份。

输出格式

输出的唯一一行应包含一个整数,表示你用餐的最低花费。

样例

输入 1

7
10 6 8 9 4 5 3
14
1 2 3 4
5
1 3 4 6 7

输出 1

22

输入 2

6
12 5 7 8 9 3
14
4 3 1 2
5
1 2 1 6 6

输出 2

32

说明

样例 1 说明

你拿取了餐点 1、3 和 4,它们是套餐的一部分,阿姨会按一整份套餐的价格向你收费。餐点 6 和 7 不是套餐的一部分,因此你按原价支付它们。

样例 2 说明

你拿取了两份餐点 1(维也纳炸牛排),阿姨会将其中一份餐点 1 与一份餐点 2 组合成一份套餐收费,而另一份餐点 1 则单独按原价收费(因为将其算作第二份套餐并不划算)。你还拿取了两份果汁(餐点 6),但由于它们不是套餐的一部分,你需要单独按原价支付它们。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.