A3176 | Souvenir Store 商品纪念铺
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
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](https://www.acgo.cn/person/929871)。
---
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](https://www.acgo.cn/person/929871)。
输入格式
输入包含 $2+2K$ 行。
第一行输入两个整数 $N$ 和 $K$,表示原有的商品数量和顾客的数量。
第二行输入 $N$ 个整数,第i个整数代表编号为 $i$ 的物品的价格。
接下来的 $2K$ 行,每两行代表一个客人的需求,按照以下方式输入:
第一行输入一个整数 $M$,代表这个顾客需要购买 $M$ 件商品。
下一行输入 $M$ 个整数,代表这位顾客想要的 $M$ 件商品的编号。
第一行输入两个整数 $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 \le N \le 5000, K \le 500, N_i \le 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]$。
保证 $1 \le N \le 5000, K \le 500, N_i \le 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]$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?