A29427.Souvenir Store 商品纪念铺
普及-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
Charly 的纪念品商铺里有 N 个商品,每个商品都有自己的定价。(别问纪念商铺都卖些啥,问就是卖 Charly 的黑历史)。但可惜的是,纪念铺的每个商品都只有一件,卖完就没了。当 Charly 看到某一件商品被卖完后,他就会重新对这些商品进行排序。以下例子展示了 Charly 如何对剩余的商品进行排序:
Charly 原本有 6 件商品,编号分别为 1−6。如下所示。
商品编号 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
商品名称 | A | B | C | D | E | F |
商品价格 | 5 | 2 | 9 | 7 | 6 | 3 |
若第四件商品被购买后,Charly 就会重新将物品进行编号:他将原先物品 4 之后的物品的编号全都提前。重新编号的物品如下:
商品编号 | 1 | 2 | 3 | 售空 | 4 | 5 |
---|---|---|---|---|---|---|
商品名称 | A | B | C | 售空 | E | F |
商品价格 | 5 | 2 | 9 | 售空 | 6 | 3 |
这天,Charly 的商铺来了 K 个客人,每个客人会将自己想要的 M 个物品的编号告诉 Charly,Charly 会告知他们这 M 件物品的总价并将这 M 件物品售卖给这位顾客。当这位顾客离去后,Charly 就又会重新编排每一个物品的编号。
虽然你并不是 Charly 的朋友,但看在 Macw 的情分上你决定帮助 Charly 设计一个程序,用于每次计算商品价格的总和。
Problem Credits: Macw07。
输入格式
输入包含 2+2K 行。
第一行输入两个整数 N 和 K,表示原有的商品数量和顾客的数量。
第二行输入 N 个整数,第i个整数代表编号为 i 的物品的价格。
接下来的 2K 行,每两行代表一个客人的需求,按照以下方式输入:
第一行输入一个整数 M,代表这个顾客需要购买 M 件商品。
下一行输入 M 个整数,代表这位顾客想要的 M 件商品的编号。
输出格式
对于每次顾客的询问,输出该顾客所需的商品价格的总和,并用空格分隔。
输入输出样例
输入#1
10 2 1 2 3 4 5 6 7 8 9 10 3 1 3 5 2 1 5
输出#1
9 10
说明/提示
保证输入的数据均合法。
保证 1≤N≤5000,K≤500,Ni≤550。
样例解释:
定价数组 [i] 表示第 i 件商品的定价。
一开始 Charly 的商铺有 10 个商品,编号分别为 1−10,定价数组初始化为 [1,2,3,4,5,6,7,8,9,10]。
第一位商人购买 1、3、5 号商品,总价为 1+3+5=9 元。
在第一位商人购买后,Charly 对数组重新整理:定价数组=[2,4,6,7,8,9,10]。
此时第二位商人购买了第 1、5 号商品,总价为 2+8=10 元。
在第二位商人购买后,Charly 再对数组重新整理:定价数组=[4,6,7,9,10]。