#4342. 维护多个序列(Maintain Multiple Sequences)

维护多个序列(Maintain Multiple Sequences)

题目描述

NN个整数序列。第ii个序列(1iN)(1 ≤ i ≤ N)LiL_i个元素;第ii个序列的第jj个元素(1jLi)(1 ≤ j ≤ L_i)ai,ja_i,j
现在有QQ个查询。对于第kk个查询(1kQ)(1 ≤ k ≤ Q),给定整数sks_ktkt_k,请找出第sks_k个序列的第tkt_k个元素。

输入格式

输入按以下格式从标准输入给出:
NN QQ
L1L_1 a1,1a_{1,1} \cdots a1,L1a_{1,L_1}
\vdots
LNL_N aN,1a_{N,1} \cdots aN,LNa_{N,L_N}
s1s_1 t1t_1
\vdots
sQs_Q tQt_Q

输出格式

输出QQ行。第kk(1kQ)(1 ≤ k ≤ Q)应包含第kk个查询的答案。

样例

2 2
3 1 4 7
2 5 9
1 3
2 1
7
5
3 4
4 128 741 239 901
2 1 1
3 314 159 26535
1 1
2 2
3 3
1 4
128
1
26535
901

样例1解释

11个序列是(1,4,7)(1, 4, 7),第22个序列是(5,9)(5, 9)
每个查询的答案如下:

  • 11个序列的第33个元素是77
  • 22个序列的第11个元素是55

数据范围

1N,Q2×1051 ≤ N, Q ≤ 2 × 10^5
Li1(1iN)L_i ≥ 1 (1 ≤ i ≤ N)
i=1NLi2×105\sum_{i=1}^N L_i ≤ 2 × 10^5
1ai,j109(1iN,1jLi)1 ≤ a_{i,j} ≤ 10^9 (1 ≤ i ≤ N, 1 ≤ j ≤ L_i)
1skN1 ≤ s_k ≤ N
1tkLsk(1kQ)1 ≤ t_k ≤ L_{s_k} (1 ≤ k ≤ Q)
所有输入值均为整数。

来源

  • AtCoder ABC271B