#305. [R49C]调整亮度

[R49C]调整亮度

时空限制

1S/512M

题目描述

在一个走廊上安装了 nn 盏灯,编号为 1,2,,n1, 2, \dots, n

每盏灯都有一个圆形开关。第 ii 盏灯共有 hih_i 个挡位,编号依次为 0,1,,hi10, 1, \dots, h_i-1

拨动开关的规则如下:

  • 如果当前挡位小于 hi1h_i-1,拨动一下后,挡位编号会加 11
  • 如果当前挡位恰好是 hi1h_i-1,拨动一下后,挡位会回到 00

初始时,所有灯的挡位均为 00。现在进行 QQ 次操作,每次操作给定一个区间 [l,r][l, r],电工会将该区间内所有灯的开关各拨动一下。

请输出所有操作完成后,每盏灯最终所在的挡位编号。

格式

输入格式

第一行包含两个整数 n,Qn, Q,分别表示灯的数量和操作的次数。

第二行包含 nn 个整数,第 ii 个整数表示 hih_i,即第 ii 盏灯的开关挡位总数。

接下来 QQ 行,每行包含两个整数 l,rl, r,描述了一次操作的区间。

输出格式

输出一行,包含 nn 个整数,用空格隔开,依次表示第 1,2,,n1, 2, \dots, n 盏灯的开关最终所在的挡位编号。

样例

样例输入 #1

5 3
3 2 2 4 3
1 3
2 4
3 5

样例输出 #1

1 0 1 2 1

样例解释 #1

  • 一开始时,挡位分别为 [0,0,0,0,0][0,0,0,0,0]
  • 11 次操作后档位分别为 [1,1,1,0,0][1,1,1,0,0]
  • 22 次操作后档位分别为 [1,0,0,1,0][1,0,0,1,0]
  • 33 次操作后档位分别为 [1,0,1,2,1][1,0,1,2,1]

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 n,Qn,Q \le
11 3030 20002000
22 7070 200000200000

对于 100%100 \% 的数据,1n,Q2×1051 \le n, Q \le 2 \times 10^52hi92 \le h_i \le 91lrn1 \le l \le r \le n