luogu#P7791. [COCI2014-2015#7] TETA

[COCI2014-2015#7] TETA

题目背景

你发现自己扮演的是一位在食堂担任收银员的好女士。这位女士被所有学生认为是好人的多种原因之一是,她关心你在访问食堂时尽可能少花钱。

题目描述

她是如何做到这一点的呢?策略其实很简单。在食堂里可以买到各种饭菜,其价格也是众所周知的。每天都会提供一份套餐。一份套餐包括 44 份饭菜(通常是汤、主菜、配菜和甜点),但它的价格 xx 小于或等于其组成部分的价格总和。当这位女士注意到,如果你拿了套餐中的个别东西,并且如果按照一整个套餐的费用会花更少的钱,那么她就一定会这样做,而你会满载而归,口袋里剩下比原来更多的钱。

你拿着托盘站在收银台前,想知道你要付多少钱。写一个方案来确定它吧!

请注意:女士可以用多个套餐向你收费,这样价格会更便宜。

输入格式

输入共六行。

第一行输入一个整数 kk,表示食堂今天供应的餐品总数。
第二行输入 kk 个整数,第 ii 个整数 cic_i 表示第 ii 个餐品的价格。
第三行输入一个整数 xx,表示套餐的价格。
第四行输入 44 个整数 p1,p2,p3,p4p_1,p_2,p_3,p_4,分别表示套餐里面包含的 44 种餐品。保证 pip_i 互不相同
第五行输入一个整数 tt,表示你点的餐品的个数。
第六行输入 tt 个整数,第 ii 个整数 sis_i 表示你点的餐品的编号。不保证 sis_i 互不相同

输出格式

输出仅一行,一个整数,表示你今天在食堂的花费。

7
10 6 8 9 4 5 3
14
1 2 3 4
5
1 3 4 6 7
22
6
12 5 7 8 9 3
14
4 3 1 2
5
1 2 1 6 6
32

提示

【样例 1 解释】

你点了 1,3,41,3,4 这三个在套餐中的餐品,这三个餐品单点的总价为 10+8+9=2710+8+9=27,大于套餐的价格 1414,因此收银的女士会将这些餐品按照 1414 元收费。除此之外的 6,76,7 两个餐品不在套餐中,因此单独收费。故总花费为 14+5+3=2214+5+3=22

【样例 2 解释】

你点了 1,21,2 这两个在套餐中的餐品,这两个餐品单点的总价为 12+4=1612+4=16,大于套餐的价格 1414,因此收银的女士会将这些餐品按照 1414 元收费。此外还剩下一个 11 号餐品和两个 66 号餐品。由于一个 11 号餐品的价格是 1212,小于套餐的 1414,而另外两个 66 号餐品又不在套餐里出现,因此剩下的一个 11 号餐品和两个 66 号餐品都只能单独收费。因此总花费为 14+12+3×2=3214+12+3\times 2=32

【数据范围】

对于所有数据,1k,t201\leqslant k,t\leqslant 201ci2501\leqslant c_i\leqslant 2501x<10001\leqslant x<10001pi,sik1\leqslant p_i,s_i\leqslant k

【题目来源】

本题来源自 COCI 2014-2015 CONTEST 7 T1 TETA,按照原题数据配置,满分 5050 分。

Eason_AC 翻译整理提供。