题解
题面描述
给定一个长度为 n 的数组 a,需要支持两种操作:
- 修改操作:给定数字 v,将数组中每个元素更新为 min(ai,v)。也就是说,对于所有 1≤i≤n,令ai:=min(ai,v).
P2711.第2题-小苯的数组
题目内容
小苯有一个长度为n的数组a,他希望你在a上维护两种操作,具体来说:
-
修改:他每次给出一个数字v,表示a中所有的数字和v取较小者。形式化的:对于i(1≤i≤n),执行ai=min(a,v)。
-
查询:查询数组中所有数字的和是多少。
他觉得这个问题过于困难,请你帮他处理一下这些操作吧。
输入描述
本题有多组测试数据。
输入的第一行包含一个正整数
(1≤T≤100),表示数据组数。
接下来包含T组数据,每组数据的格式如下:
第一行两个正整数n,q(1≤n,q≤2×105),分别表示数组a的长度和操作的次数。
第二行n个正整数ai(1≤ai≤109),表示数组a。
接下来q行,每行一个操作,输入格式为:
- 1.v表示修改操作(1≤v≤109)
- 2.表示查询操作。
(保证所有测试数据中,n,q的总和都不超过2×105)
输出描述
对于每组数据,每行输出一个整数,表示满足条件的数字个数。
样例1
输入
1
5 3
1 2 4 5 3
2
1 2
2
输出
15
9
说明
首先查询数组的总和为:1+2+4+5+3=15
接着我们进行一次操作,将所有元素和v=2取min,数组变为:{1,2,2,2,2}。
再次查询数组的总和为:1+2+2+2+2=9