CF978C Letters
题目描述
在 Berland 州立大学有 $n$ 个宿舍楼,编号为 $1$ 到 $n$。每个宿舍楼有若干房间,第 $i$ 个宿舍楼有 $a_i$ 个房间。第 $i$ 个宿舍楼的房间编号为 $1$ 到 $a_i$。
有一名邮递员负责投递信件。有时信封上没有具体的宿舍楼号和房间号,而是写着在所有宿舍楼的所有房间中的一个总房间号。此时,假设所有房间从 $1$ 到 $a_1 + a_2 + \dots + a_n$ 依次编号,第一栋宿舍楼的房间排在最前面,第二栋宿舍楼的房间排在其后,依此类推。
例如,当 $n=2$,$a_1=3$,$a_2=5$ 时,信封上可能写着 $1$ 到 $8$ 之间的任意整数。如果信封上写着 $7$,则表示信件应投递到第二栋宿舍楼的第 $4$ 个房间。
对于每一封信,给出其在所有宿舍楼中的总房间号,请你确定该信件应投递到哪一栋宿舍楼的哪一个房间。
输入格式
第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 2 \cdot 10^{5}$),分别表示宿舍楼的数量和信件的数量。
第二行包含 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^{10}$),其中 $a_i$ 表示第 $i$ 个宿舍楼的房间数。
第三行包含 $b_1, b_2, \dots, b_m$($1 \le b_j \le a_1 + a_2 + \dots + a_n$),其中 $b_j$ 表示第 $j$ 封信的总房间号。所有 $b_j$ 按升序给出。
输出格式
输出 $m$ 行。每行输出两个整数 $f$ 和 $k$,分别表示应投递的宿舍楼编号 $f$($1 \le f \le n$)和该宿舍楼中的房间号 $k$($1 \le k \le a_f$)。
说明/提示
在第一个样例中,信件应按如下顺序投递:
- 第一封信投递到第一栋宿舍楼的第 $1$ 个房间。
- 第二封信投递到第一栋宿舍楼的第 $9$ 个房间。
- 第三封信投递到第二栋宿舍楼的第 $2$ 个房间。
- 第四封信投递到第二栋宿舍楼的第 $13$ 个房间。
- 第五封信投递到第三栋宿舍楼的第 $1$ 个房间。
- 第六封信投递到第三栋宿舍楼的第 $12$ 个房间。
由 ChatGPT 4.1 翻译