#P6003. 加乘运算
加乘运算
加乘运算(addmul)
题目描述
小 C 最近脑洞打开,定义了一个新的运算:加乘运算!
他定义 。
现在小 C 写了一个只包含数字和加乘运算的表达式。之后他有 次修改表达式的操作,每次操作他会修改某一个数字的值,并且想知道修改后的表达式的值为多少。
注意每次修改会保留下来。
为了化简对表达式的处理,我们有如下约定:
表达式将采用后缀表达式的方式输入。
后缀表达式的定义如下:
- 如果 是一个数字,则 的后缀表达式是它本身。
- 如果 是 形式的表达式,其中 是加乘运算,则 的后缀式为 ,其中 、 分别为 、 的后缀式。
- 的系数 会在表达式后面给出。
输入格式
一共一行两个整数 ,分别表示表达式中变量的数量和
第二行为小 C 的加乘运算的后缀表达式 。
第三行一共 个数, ,分别表示第 个加乘运算的系数。
接下来一共 行,每行两个整数 ,表示将表达式的第 个数字改成 。
输出格式
一行 行,每行一个整数,表示该询问下表达式的值。保证答案不超过 。
样例一
输入
5 5
4 9 * 1 6 2 * * *
4 1 3 2
1 9
5 10
4 10
4 4
4 7
输出
198
246
270
234
252
样例解释
第一次修改后的表达式为 ,即$((9+9)\times 4+(1+(6+2)\times 1)\times 3)\times 2=198$ 。
数据范围
对于所有数据 ,题中出现的数字均小于 。
测试点 | 数据范围 | 特殊性质 |
---|---|---|
无 | ||
无限制 | ||
无 |
小 C 给的表达式为为随机生成。