CFCF2185D.Out Of Memory Error
普及/提高-
官方
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Bessie 有一个包含 n 个整数的数组 a1,a2,…,an。Bessie 对数组执行 m 次操作。第 i 次操作将 abi 变为 abi+ci。
不幸的是,由于内存价格飞涨,Bessie 的计算机内存有限,只要数组中的任意一个元素大于 h,她的计算机就会崩溃,并且整个数组会恢复到最初的状态。
所有操作执行完毕后,输出最终的数组 a。
输入格式
输入第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例第一行包含三个整数 n,m,h(1≤n,m≤2⋅105,1≤h≤109),分别表示数组 a 的长度、执行的操作数,以及 Bessie 的计算机在崩溃前能存储的最大值。
第二行包含 n 个整数 a1,a2,…,an(0≤ai≤h),表示数组 a。
接下来的 m 行,每行包含两个整数 bi,ci(1≤bi≤n,0≤ci≤109),表示 Bessie 对数组执行的操作。
保证所有测试用例中 n 的总和与 m 的总和均不超过 2⋅105。
输出格式
对于每个测试用例,输出所有操作执行完毕后的数组 a。
输入输出样例
输入#1
3 3 4 5 1 2 1 1 4 2 4 3 3 2 0 5 3 1 1 1 1 1 1 1 1 1 1 2 1 4 4 1 1 0 0 0 1 1 4 4 3 3 4 4
输出#1
1 2 4 1 1 1 1 1 1 0 0 0
说明/提示
对于第一个测试用例,数组 a 的变化如下:
- 开始前,a=[1,2,1]。
- 执行第一次操作后,a=[5,2,1]。
- 第二次操作后,a=[5,6,1],但因为 6>h,计算机崩溃,a=[1,2,1](恢复原值)。
- 第三次操作后,a=[1,2,4]。
- 第四次操作后,a=[1,2,4]。
对于第三个测试用例,每次操作都会造成计算机崩溃,所以最终 a=[1,0,0,0]。