「DROI」Round 2 进制与操作
题目背景
与其编写苍白无力的背景,不如出更有质量的题。
题目描述
定义数 $x$ 在 $B$ 进制下的一次操作为以下两种操作中的任意一种:
- 令 $x \rightarrow \lfloor \dfrac{x}{B} \rfloor$。
- 令 $x \rightarrow x \times B + t $。其中 $t \in [0,B-1]$。
现给定长度为 $n$ 的序列 $A$。$m$ 次询问,每次询问形如:
- `l r B` 表示询问将序列 $A$ 中下标在 $[l,r]$ 之内的数在 $B$ 进制下操作,至少多少次才能将所有数变为相同(注:每次操作是对**一个数**进行操作)。
**询问间相互独立,即操作不会真的进行。**
输入输出格式
输入格式
第一个两个整数,分别表示 $n,m$。
第二行一行 $n$ 个数,表示序列 $A$。
接下来 $m$ 行,每行三个数,分别表示这次询问的 $l,r,B$。
输出格式
输出共 $m$ 行,其中第 $i$ 行表示第 $i$ 次询问的答案。
输入输出样例
输入样例 #1
5 5
7 6 5 8 9
1 3 2
2 5 2
4 4 6
3 5 4
1 5 3
输出样例 #1
5
8
0
5
10
输入样例 #2
8 4
10 14 7 11 19 13 7 18
1 7 4
3 8 2
1 4 4
1 4 2
输出样例 #2
15
18
8
11
说明
### 样例解释
对于样例一,五次询问分别将区间内所有数变为 $3$、$4$、$8$、$4$、$6$ 是一种最优操作。
------------
### 数据范围
**「本题采用捆绑测试」**
- $\operatorname{Subtask} 1(10\%)$:$n,m \leq 1000$。
- $\operatorname{Subtask} 2(20\%)$:保证所有询问 $B=2$。
- $\operatorname{Subtask} 3(40\%)$:$n,m \leq 3 \times 10^4$。
- $\operatorname{Subtask} 4(30\%)$:无特殊限制。
对于 $100\%$ 的数据:$1 \leq n,m \leq 10^5$,$2 \leq A_i,B \leq 10^8$。