#HK5479. 「UOI 2016 Stage 4 Day1」子数

「UOI 2016 Stage 4 Day1」子数

题目描述

题目译自 Ukrainian Olympiads in Informatics 2016 Stage 4 Day1 T3. Підчисло

佩特里克和瓦西里科是真正的好朋友,所以他们总是互相出各种有趣的题目。然而,瓦西里科总能轻松解决他朋友的问题,于是佩特里克决定想一个真正难题。以下是他的成果。

如果可以通过从数字 AA 中删除一些数字,使得剩下的数字构成数字 BB,我们就称数字 BB 是数字 AA子数

给定一个 NN 位的数字 XX。我们将 XKX_K 定义为数字 XX 的最大的 KK 位子数。你需要回答 MM 个查询。每个查询由两个数字 KKLL 组成。查询的答案是数字 XKX_K 的第 LL 位数字。

这一次,这个问题真的让瓦西里科陷入了沉思。你能够比他更快地解决这个问题吗?

编写一个程序 subnumber,根据给定的数字和一系列查询,找到所需的数字。

输入格式

输入文件的第一行包含一个长度为 NN 的整数 XX (1N105)(1 \leq N \leq 10^5)

第二行包含一个数字 MM (1M105)(1 \leq M \leq 10^5)

接下来的 MM 行每行包含两个数字 Ki,LiK_i, L_i (1KiN,1LiKi)(1 \leq K_i \leq N, 1 \leq L_i \leq K_i),表示第 ii 个查询的参数。

输出格式

输出文件应包含一个长度为 MM 的字符串,其中第 ii 个字符是第 ii 个查询的答案。

31415926
7
2 2
3 1
1 1
4 3
5 2
8 2
7 3

6992511

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 1515 N=20,M=10000N = 20, M = 10000
22 2525 N×M500000N \times M \leq 500000
33 6060 N100000,M50000N \leq 100000, M \leq 50000