问题 H: 简单维护(maintaining)

问题 H: 简单维护(maintaining)

时间限制: 5 Sec  内存限制: 256 MB
提交: 9  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

这肯定是一道简单题。
你有一个长度为 n 的序列,第 i 个元素是 0 ≤ ai ≤ 2。
给出 q 次修改,每次形如给定区间 [l, r] 将 ai 变为 (ai + 1)%3。
每次修改后,询问有多少个区间 L, R 满足 1 ≤ L ≤ R ≤ n 同时包含 0, 1, 2 。

输入

第一行共 2 个整数 n, q。
第二行共 n 个整数,第 i 个整数表示 ai。
接下来 q 行,每行 2 个整数表示 l, r。

输出

输出共 q + 1 行,
第 1 行共一个整数,表示输出未修改的答案,
第 i + 1 行共一个整数,表示第 i 次修改后的答案。

样例输入

样例1
8 3
0 0 1 2 2 2 0 1
2 5
2 6
3 8
样例2
15 8
0 1 0 1 0 1 0 1 0 1 2 0 0 1 2
1 1
1 1
3 3
5 8
6 15
3 11
8 11
8 10

样例输出

样例1
15
15
10
6
样例2
53
53
61
59
68
79
75
74
68

提示

image-20230904092459961.png

[提交][状态]