AT_abc448_e [ABC448E] Simple Division
题目描述
给定整数 $N$ 和 $M$。请计算 $\lfloor N/M \rfloor$ 除以 $\color{red}{10007}$ 的余数。
其中,$\lfloor x \rfloor$ 表示不超过 $x$ 的最大整数。例如,$\lfloor 3.14 \rfloor=3$,$\lfloor 10 \rfloor = 10$。
本题中,$N$ 并未直接给出,而是以行程编码(Run-Length Encoding)的方式输入:
具体地,$N$ 通过 $K$ 组数字 $c_i$ 和整数 $l_i$ 的序列表示。
恢复原始的 $N$ 的步骤如下:
- 初始时,令字符串 $S$ 为空串。
- 对于 $i=1,2,\dots,K$,重复以下操作:
- 在 $S$ 的末尾追加 $l_i$ 个数字 $c_i$。
- 最终,将 $S$ 作为一个整数解释,该整数就是 $N$。
输入格式
输入从标准输入读取,格式如下:
> $K\ M\ c_1\ l_1\ c_2\ l_2\ \cdots\ c_K\ l_K$
输出格式
输出答案。
说明/提示
### 样例解释 1
本例输入中,$N=316227766$,$M=7$。
$\lfloor 316227766/7 \rfloor = 45175395$,将其对 $10007$ 取余后得到 $3797$,即为最终答案。
### 数据范围
- $1 \le M \le 10^4$
- $1 \le K \le 10^5$
- $c_i$ 为数字 $0,1,2,3,4,5,6,7,8,9$ 中的一个
- $1 \le l_i \le 10^9$
- $c_1 \neq 0$
- $M,K,l_i$ 均为整数。
由 ChatGPT 5 翻译