CF1887C.Minimum Array
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 n 的整数数组 a。然后对其顺序执行 q 次如下操作:
- 选择下标 l 和 r(1≤l≤r≤n)以及一个整数 x;
- 将 x 加到数组 a 的区间 [l,r] 的所有元素上。更正式地说,对所有 l≤i≤r,令 ai:=ai+x。
令 bj 表示在执行前 j 次操作后得到的数组 a(0≤j≤q)。注意,b0 是未进行任何操作时的数组 a。
你需要在所有数组 bj 中找到字典序最小的数组。
† 如果存在某个下标 i 使得 xi<yi,且对于所有 j<i 都有 xj=yj,则数组 x 的字典序小于数组 y。换句话说,对于第一个不同的位置 i,若 xi<yi,则 x 的字典序小于 y。
输入格式
每组测试数据包含多个测试用例。第一行包含一个整数 t(1≤t≤5⋅105),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤5⋅105),表示数组 a 的长度。
第二行包含 n 个整数 a1,a2,…,an(−109≤ai≤109),表示数组 a 的元素。
第三行包含一个整数 q(0≤q≤5⋅105),表示对数组进行的操作次数。
接下来的 q 行,每行包含三个整数 lj、rj 和 xj(1≤lj≤rj≤n,−109≤xj≤109),表示每次操作的描述。操作按给定顺序执行。
保证所有测试用例中 n 的总和以及 q 的总和不超过 5⋅105。
输出格式
对于每个测试用例,输出所有数组 bj 中字典序最小的数组。
输入输出样例
输入#1
2 4 1 2 3 4 2 1 4 0 1 3 -100 5 2 1 2 5 4 3 2 4 3 2 5 -2 1 3 1
输出#1
-99 -98 -97 4 2 1 2 5 4
说明/提示
在第一个测试用例中:
- b0=[1,2,3,4];
- b1=[1,2,3,4];
- b2=[−99,−98,−97,4]。
因此,字典序最小的数组是 b2。
在第二个测试用例中,字典序最小的数组是 b0。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?