#X1008. 机器人重量

    传统题 1000ms 256MiB 显示标签>数组

机器人重量

题目描述

有一个机器人,其初始重量为 XX。该机器人有 NN 种可同时连接的部件类型:类型 11, 类型 22, \dots, 类型 NN。类型 ii (1iN1 \le i \le N) 的部件重量为 WiW_i。最初,这 NN 种部件都没有连接到机器人上。

请按顺序处理以下 QQ 个查询。第 ii 个查询 (1iQ1 \le i \le Q) 由整数 PiP_i 表示,具体操作如下:

  • 如果类型 PiP_i 的部件目前未连接到机器人上,则安装它;
  • 如果类型 PiP_i 的部件已经连接在机器人上,则将其移除
  • 操作完成后,打印机器人当前的重量。

数据范围

  • 1X1001 \le X \le 100
  • 1N1001 \le N \le 100
  • 1Wi1001 \le W_i \le 100 (1iN1 \le i \le N)
  • 1Q1001 \le Q \le 100
  • 1PiN1 \le P_i \le N (1iQ1 \le i \le Q)
  • 所有输入值均为整数。

输入格式

输入通过标准输入以如下格式给出:

$ \begin{aligned} &X \\ &N \\ &W_1 \quad W_2 \quad \dots \quad W_N \\ &Q \\ &P_1 \\ &P_2 \\ &\vdots \\ &P_Q \end{aligned} $

输出格式

输出 QQ 行。第 ii 行 (1iQ1 \le i \le Q) 应包含处理第 ii 个查询后的结果(即当前的机器人重量)。

输入样例 1:

31
4
15 92 65 35
4
3
1
4
1

输出样例 1:

96
111
146
131

解释: 初始情况下,机器人的重量为 3131。对于每个查询,机器人的重量变化如下:

  • 第 1 个查询:安装类型 33 的部件。机器人的重量变为 31+65=9631 + 65 = 96
  • 第 2 个查询:安装类型 11 的部件。机器人的重量变为 96+15=11196 + 15 = 111
  • 第 3 个查询:安装类型 44 的部件。机器人的重量变为 111+35=146111 + 35 = 146
  • 第 4 个查询:移除类型 11 的部件(因为之前已经安装过)。机器人的重量变为 14615=131146 - 15 = 131

输入样例 2:

41
10
73 8 55 26 97 48 37 47 35 55
15
1
2
7
1
6
3
10
8
4
8
1
5
9
9
3

输出样例 2:

114
122
159
86
134
189
244
291
317
270
343
440
475
440
385