CF978C.Letters

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Letters

题目描述

在 Berland 州立大学有 nn 个宿舍楼,编号为 11nn。每个宿舍楼有若干房间,第 ii 个宿舍楼有 aia_i 个房间。第 ii 个宿舍楼的房间编号为 11aia_i

有一名邮递员负责投递信件。有时信封上没有具体的宿舍楼号和房间号,而是写着在所有宿舍楼的所有房间中的一个总房间号。此时,假设所有房间从 11a1+a2++ana_1 + a_2 + \dots + a_n 依次编号,第一栋宿舍楼的房间排在最前面,第二栋宿舍楼的房间排在其后,依此类推。

例如,当 n=2n=2a1=3a_1=3a2=5a_2=5 时,信封上可能写着 1188 之间的任意整数。如果信封上写着 77,则表示信件应投递到第二栋宿舍楼的第 44 个房间。

对于每一封信,给出其在所有宿舍楼中的总房间号,请你确定该信件应投递到哪一栋宿舍楼的哪一个房间。

输入格式

第一行包含两个整数 nnmm1n,m21051 \le n, m \le 2 \cdot 10^{5}),分别表示宿舍楼的数量和信件的数量。

第二行包含 a1,a2,,ana_1, a_2, \dots, a_n1ai10101 \le a_i \le 10^{10}),其中 aia_i 表示第 ii 个宿舍楼的房间数。

第三行包含 b1,b2,,bmb_1, b_2, \dots, b_m1bja1+a2++an1 \le b_j \le a_1 + a_2 + \dots + a_n),其中 bjb_j 表示第 jj 封信的总房间号。所有 bjb_j 按升序给出。

输出格式

输出 mm 行。每行输出两个整数 ffkk,分别表示应投递的宿舍楼编号 ff1fn1 \le f \le n)和该宿舍楼中的房间号 kk1kaf1 \le k \le a_f)。

说明/提示

在第一个样例中,信件应按如下顺序投递:

  • 第一封信投递到第一栋宿舍楼的第 11 个房间。
  • 第二封信投递到第一栋宿舍楼的第 99 个房间。
  • 第三封信投递到第二栋宿舍楼的第 22 个房间。
  • 第四封信投递到第二栋宿舍楼的第 1313 个房间。
  • 第五封信投递到第三栋宿舍楼的第 11 个房间。
  • 第六封信投递到第三栋宿舍楼的第 1212 个房间。

由 ChatGPT 4.1 翻译

样例

3 6
10 15 12
1 9 12 23 26 37
1 1
1 9
2 2
2 13
3 1
3 12
2 3
5 10000000000
5 6 9999999999
1 5
2 1
2 9999999994

在线编程 IDE

建议全屏模式获得最佳体验