CF1744B.Even-Odd Increments
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given n of integers a1,a2,…,an. Process q queries of two types:
- query of the form "0 xj": add the value xj to all even elements of the array a,
- query of the form "1 xj": add the value xj to all odd elements of the array a.
Note that when processing the query, we look specifically at the odd/even value of ai, not its index.
After processing each query, print the sum of the elements of the array a.
Please note that the answer for some test cases won't fit into 32-bit integer type, so you should use at least 64-bit integer type in your programming language (like long long for C++).
给你 n 个整数 a1,a2,…,an。你需要处理 q 个查询,查询分为两类:
- 形如 “0 xj” 的查询:将值 xj 加到数组 a 中所有偶数元素上;
- 形如 “1 xj” 的查询:将值 xj 加到数组 a 中所有奇数元素上。
注意:在处理查询时,我们依据的是元素 ai 本身的值的奇偶性,而非其下标 i 的奇偶性。
每次查询处理完毕后,请输出此时数组 a 中所有元素的和。
请注意:某些测试用例的答案可能超出 32 位整数范围,因此你应至少使用 64 位整数类型(例如 C++ 中的 long long)。
输入格式
The first line of the input contains an integer t (1≤t≤104) — the number of test cases.
The descriptions of the test cases follow.
The first line of each test case contains two integers n and q (1≤n, q≤105) — the length of array a and the number of queries.
The second line of each test case contains exactly n integers: a1,a2,…,an (1≤ai≤109) — elements of the array a.
The following q lines contain queries as two integers typej and xj (0≤typej≤1, 1≤xj≤104).
It is guaranteed that the sum of values n over all test cases in a test does not exceed 105. Similarly, the sum of values q over all test cases does not exceed 105.
输入的第一行包含一个整数 t(1≤t≤104)—— 表示测试用例的数量。
接下来是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 q(1≤n,q≤105)—— 分别表示数组 a 的长度以及查询的数量。
每个测试用例的第二行包含恰好 n 个整数:a1,a2,…,an(1≤ai≤109)—— 表示数组 a 的元素。
接下来的 q 行每行包含一个查询,由两个整数 typej 和 xj 组成(0≤typej≤1,1≤xj≤104)。
保证在一个测试中,所有测试用例的 n 值之和不超过 105;同理,所有测试用例的 q 值之和也不超过 105。
输出格式
For each test case, print q numbers: the sum of the elements of the array a after processing a query.
对于每个测试用例,输出 q 个数字:每次处理完一个查询后数组 a 中所有元素的和。
输入输出样例
输入#1
4 1 1 1 1 1 3 3 1 2 4 0 2 1 3 0 5 6 7 1 3 2 4 10 48 1 6 0 5 0 4 0 5 1 3 0 12 0 1 6 7 1000000000 1000000000 1000000000 11 15 17 0 17 1 10000 1 51 0 92 0 53 1 16 0 1
输出#1
2 11 14 29 80 100 100 100 118 190 196 3000000094 3000060094 3000060400 3000060952 3000061270 3000061366 3000061366
说明/提示
In the first test case, the array a=[2] after the first query.
In the third test case, the array a is modified as follows: [1,3,2,4,10,48] → [7,9,2,4,10,48] → [7,9,7,9,15,53] → [7,9,7,9,15,53] → [10,12,10,12,18,56] → [22,24,22,24,30,68] → [23,25,23,25,31,69].
在第一个测试用例中,第一次查询后数组 a=[2]。
在第三个测试用例中,数组 a 按如下方式被修改:[1,3,2,4,10,48] → [7,9,2,4,10,48] → [7,9,7,9,15,53] → [7,9,7,9,15,53] → [10,12,10,12,18,56] → [22,24,22,24,30,68] → [23,25,23,25,31,69]。
输入解题思路,AI测评打分。不知道怎么写?