AT_pakencamp_2021_day3_e お菓子
题目描述
# 点心
Paken 王国有 $N$ 所学校,校园编号从 $1$ 到 $N$。初始情况下,第 $i$ 所学校有 $A_i$ 名学生。由于是学校,同一人不能永远在同一所学校就读。学生人数可能会发生变化。
Paken 王国经常举办王国举办的比赛,每次比赛都会确定一组候选学校,该组学校由整数对 $(l, r)$ 表示,表示从学校 $l$ 到学校 $r$ 中选择一所学校,然后邀请该学校的所有学生参加比赛。
比赛是脑力比赛,为了供应糖分,参赛者会获得点心。然而,点心的数量有以下条件:
- 为了保证每个学校的学生获得的点心数量一样,学校 $l,\ l+1,\ \ldots,\ r$ 中的任意一所学校的学生人数应该是点心数量的约数。
- Paken 王国财政紧张,所以在满足上述条件的情况下,糖果的数量应该尽量少。
你是 Paken 王国唯一的点心公司的总裁。所有比赛的糖果都会向你的公司订购。为了公司的公关,你想知道哪些学校是比赛的候选学校。因此,你决定统计每次比赛订购的点心数量,以及满足给定整数 $s$ 的约束条件 $(l,r)$ 可能的数量。
Paken 王国将发生 $Q$ 个事件,每个事件用以下查询之一表示:
- 入学查询 `1 k a` :学校 $k$ 有 $a$ 名学生入学。学校 $k$ 的学生人数增加 $a$ 人。
- 毕业查询 `2 k b` :学校 $k$ 有 $b$ 名学生毕业。学校 $k$ 的学生人数减少 $b$ 人。
- 比赛查询 `3 s` :某次比赛订购了 $s$ 颗点心。你需要计算满足条件的约数对 $(l,r)$ 的可能数量。
给定 $Q$ 个事件按顺序发生,对于每个比赛查询,你需要计算答案。
需要注意的是,学校毕竟是学校,所以在任何时候,每所学校的学生人数都保证在 $1$ 到 $10^9$ 之间。
输入格式
输入从标准输入读取,格式如下:
> $ N $ $ Q $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $ $ \mathrm{query}1 $ $ \mathrm{query}2 $ $ \vdots $ $ \mathrm{query}Q $
第 $i$ 个查询 $Query_i$ 由以下形式之一表示:
- 每个插入查询包含三个整数:$c_i, k, a$,其中 $c_i$ 是查询的类型($1, 2, 3$ 中的一个),$k$ 是学校编号,$a$ 是学生人数。
- 每个比赛查询包含两个整数:$c_i, s$,其中 $c_i$ 是查询的类型($1, 2, 3$ 中的一个),$s$ 是订购的糖果数量。
换句话说,每个查询可以是以下三种形式之一:
> $1$ $k$ $a$
> $2$ $k$ $b$
> $3$ $s$
输出格式
输出结果到标准输出,格式如下:
对于每个比赛查询,输出 $q$ 行。第 $j$ 行($1 ≤ j ≤ q$)输出对于第 $j$ 个查询的答案。
## 样例 #1
### 样例输入 #1
```
4 3
1 2 3 4
3 12
1 1 3
3 12
```
### 样例输出 #1
```
3
4
```
## 样例 #2
### 样例输入 #2
```
10 5
10 1 8 3 10 10 6 3 3 7
3 30
3 7
3 4
3 10
3 1
```
### 样例输出 #2
```
11
1
0
5
1
```
## 样例 #3
### 样例输入 #3
```
20 20
13 5 30 10 15 22 30 4 11 18 10 23 9 1 27 8 5 6 16 26
3 60
3 90
2 19 11
2 7 6
2 5 6
3 12870
3 198
1 12 3
2 10 1
3 30
3 5
2 18 5
3 234
3 291720
1 10 6
3 1776060
3 198
3 10
3 792
3 30
```
### 样例输出 #3
```
1
1
1
2
7
3
2
2
1
1
2
3
4
```
说明/提示
### 限制
- $1 ≤ N, Q ≤ 10^5$
- $1 ≤ A_j ≤ 10^9$,其中 $1 ≤ j ≤ N$
- 对于入学查询和毕业查询,$1 ≤ k ≤ N$
- 对于入学查询,$1 ≤ a ≤ 10^9$
- 对于毕业查询,$1 ≤ b ≤ 10^9$
- 对于比赛查询,$1 ≤ s ≤ 10^9$
- 在任何时候,保证对于每所学校,其学生人数在 $1$ 到 $10^9$ 之间
- 所有输入都是整数
### 子任务
1. ($150$ 分) $N, Q ≤ 10^3$
2. ($200$ 分) 不包含入学查询和毕业查询
3. ($200$ 分) 在任何时候,保证每所学校的学生人数不超过 $10$ 人
4. ($150$ 分) 没有额外的限制
### 样例解释 1
每个查询的结果如下: 1. 比赛查询。满足条件的 $(l,r)$ 是 $(1,4), (2,4), (3,4)$。 2. 入学查询。学校 $1$ 入学 $3$ 名学生,各个学校的学生人数变为 $4, 2, 3, 4$。 3. 比赛查询。满足条件的 $(l,r)$ 是 $(1,3), (1,4), (2,4), (3,4)$。该样例满足小任务 $1, 3, 4$ 的限制。
### 样例解释 2
该样例满足所有子任务的限制。
### 样例解释 3
该样例满足小任务 $1, 4$ 的限制。 原题: \[shiomusubi496\](https://atcoder.jp/users/shiomusubi496)