本题为 E 题,与 F. 陈春杳杳,来岁昭昭 题面类似,不同之处已加粗,请留意题号,谨防交错题。
题目背景
两周前的今天,BM 被喊来验低程的题。不幸的是,马虎的 BM 读错了 F. 陈春杳杳,来岁昭昭 的题面。虽然经过 OY 的提醒他很快反应过来他读了假题,但是他还是很好奇,他读出来的假题是否可写。
题目描述
给你一个长度为 n 的数组 a ,你需要进行 q 次修改,一次修改为下面两种操作的其中之一:
- 分别选择两个整数 l,r (1≤l≤r≤109),使得 原数组中† 所有满足条件 l≤ai≤r 的 ai 加 1。
- 分别选择两个整数 l,r (1≤l≤r≤109),使得 原数组中† 所有满足条件 l≤ai≤r 的 ai 减 1。
请你输出 所有修改都完成后的数组。
†此处指的是 未进行任何修改的 原数组 a。
输入格式
第一行包含两个整数 n,q (1≤n,q≤105),分别表示数组 a 的长度和修改次数。
第二行包含 n 个整数 ai (1≤ai≤2×105),代表数组 a。
接下来共有 q 行,每行包含三个整数 cj,lj,rj (cj∈{1,2},1≤lj≤rj≤109),代表第 j 次修改,并且选择了第 cj 种操作。
输出格式
输出一行 n 个整数,表示所有修改均完成后的数组 a。
7 4
1 2 3 4 5 6 7
1 3 4
1 6 7
2 6 7
2 1 8
0 1 3 4 4 5 6
4 4
4 4 4 4
1 4 4
1 5 5
1 6 6
1 7 7
5 5 5 5
说明
对于样例 1:
修改前原数组为 {1,2,3,4,5,6,7};
第一次修改后数组变为 {1,2,4,5,5,6,7};
第二次修改后数组变为 {1,2,4,5,5,7,8};
第三次修改后数组变为 {1,2,4,5,5,6,7};
第四次修改后数组变为 {0,1,3,4,4,5,6}。