给定一个长度为 n 的数组 a,需要支持两种操作:
小苯有一个长度为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行,每行一个操作,输入格式为:
(保证所有测试数据中,n,q的总和都不超过2×105)
对于每组数据,每行输出一个整数,表示满足条件的数字个数。
输入
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