题库练习 「COCI 2009.10」ALADIN
← 上一题 下一题 →

A6390 | 「COCI 2009.10」ALADIN

时间限制6s
内存限制64MB
通过 / 提交0/0

题目描述

**译自 [COCI 2009.10](http://hsin.hr/coci/archive/2009_2010/) T6.** ***[ALADIN](http://hsin.hr/coci/archive/2009_2010/contest1_tasks.pdf)***

有一个长度为 $N$ 的数组 $a_1,$ $a_2,$ $\ldots,$ $a_N$,开始时这 $N$ 个数均为 0。
接下来对它有 $Q$ 次操作,操作分为两类:

- $\texttt{1 L R A B}$,修改操作,a[L] = A%B; a[L+1] = (2*A)%B; a[L+2] = (3*A)%B; ... a[R] = ((R-L+1)*A)%B;
- $\texttt{2 L R}$,查询操作,请输出 a[L]+a[L+1]+...+a[R]

输入格式

第一行两个整数 $N,Q$。
接下来 $Q$ 行,每行一组操作。

输出格式

对于每组查询操作,输出一行结果。

输入输出样例

输入 #1
6 3
2 1 6
1 1 5 1 2
2 1 6
输出 #1
0
3
输入 #2
4 5
1 1 4 3 4
2 1 1
2 2 2
2 3 3
2 4 4
输出 #2
3
2
1
0
输入 #3
4 4
1 1 4 7 9
2 1 4
1 1 4 1 1
2 1 4
输出 #3
16
0
C++ 编辑器
输入
输出