首页 > 试题广场 >

游游的整数操作

[编程题]游游的整数操作
  • 热度指数:861 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
游游拿到了一个数组,她有两种操作;
1. 输入1 x,代表所有数加x。
2. 输入2 x,代表所有数减x,同时将所有的负数变成0。即对于每个a_i,把a_i变成max(a_i-x,0)

游游在操作结束后,希望你能告诉她所有数之和,答案对10^9+7取模。

输入描述:
第一行输入两个正整数nk,代表数组长度以及操作次数。
第二行输入n个正整数a_i。代表初始的数组。
接下来的k行,每行输入两个正整数opx。其中op代表操作类型。
1\leq n,k \leq 10^5
1\leq x,a_i \leq 10^9
1\leq op \leq 2


输出描述:
操作结束后所有数之和对10^9+7取模的值。
示例1

输入

5 2
1 2 3 4 5
2 2
1 1

输出

11

说明

第一次操作后,数组变成 [0,0,1,2,3]
第二次操作后,数组变成 [1,1,2,3,4]