问题 6763 --求数组的和

6763: 求数组的和★★★

时间限制: 1 Sec  内存限制: 256 MB
提交: 67  解决: 16
[提交][状态][命题人:]

题目描述

给定一个数组a,包含n个整数。还给定了q个查询,查询有两种类型:

  1. 将数组中第 i 个元素替换为整数 x。
  2. 将数组中的每个元素都替换为整数 x。

在执行每个查询后,你需要计算数组中所有元素的总和。

输入

第一行包含两个整数n和q(1≤n,q≤10^5)——--数组中的元素个数和查询的数量。

第二行包含n个整数a1,…,an(1≤ai≤10^9)——--数组a的元素。

接下来的q行中,每行先输入一个整数t(t∈{1,2}),表示查询的类型:

  • 如果 t=1,则接下来是两个整数 i 和 x(1≤i≤n,1≤x≤10^9)——--要替换的元素的位置和新的值。
  • 如果 t=2,则接下来是一个整数 x(1≤x≤10^9)——--数组中每个元素的新值。

输出

输出 q 行,每行一个整数。每一行打印在执行前 i 个查询后数组中所有元素的总和。
样例输入
Copy
5 5
1 2 3 4 5
1 1 5
2 10
1 5 11
1 4 1
2 1
样例输出
Copy
19
50
51
42
5

提示

来源

[提交][状态]