商店购物
时间限制:1秒 内存限制:256M
【题目描述】
商店有 \(n\) 种商品,第 \(i\) 种商品的价格为整数 \(p[i]\)。为了吸引更多的顾客,商店举行了促销活动。
促销活动把多种商品组合起来降价销售,例如:单买一朵花和一个花瓶的价格分别是 5 元和 11 元,但同时购买一朵花和一个花瓶的价格不是 16,而是 15 元。
小沐打算到商店购买 \(m\) 种商品(这 \(m\) 种商品至少要购买1个),请你帮他计算该如何利用商店的优惠,从而使得花费最少。当然,如果多买商品数量或品种能让花费更少,小沐同学也是非常乐意的!
【输入格式】
第 1 行一个整数 \(n\),表示商店中的商品种数,编号为 \(1..n\)。
第 2 行包含 \(n\) 个整数,第 \(i\) 个整数表示第 \(i\) 种商品的价格。
第 3 行一个整数 \(k\),表示商店提供的优惠方式有 \(k\) 种。
接下来的 \(k\) 行,每行描述了一种优惠方式:第一个整数 \(f\),表示这种优惠方式由 \(f\) 种商品组成,接着的 \(f\) 个整数\((1<f≤n)\),表示这种优惠方式包含的商品编号,最后一个整数 \(c\),表示这种优惠方式的价格。
接下来的一行一个整数 \(m(1<m≤n)\),表示小沐打算购买的商品种数。
最后一行包含 \(m\) 个整数,分别表示需要购买的商品的编号。
【输出格式】
一行,一个整数表示最少花费。
【输入输出样例】
Input
4
10 20 30 40
3
2 1 2 28
2 2 4 55
2 1 3 38
3
1 2 3
Output
58
【数据限制】
对于 \(100\%\) 的数据,\(1≤n≤20,1≤s≤50,商品和优惠方式的的价格不超过1000\)。
【来源】
Mr.he