3137: 彩虹岛自动补全只因

时间限制:1000 ms 内存限制:256 MB
上传者:
提交:42 通过:14

题目描述

彩虹岛的甜鱼刚买了一个新的 $iphone20~pro~max$ ,并且十分喜欢用它和外星人只因哥发送 $QQ$ 信息。但是他的脑子不是很好用,打字时总是会把单词拼错。为了解决这个问题,只因哥决定编写一个自动补全的程序来帮助他,当他输入部分单词时,该程序就会自动给出补全建议。

自动补全程序可以访问一个包含 $W$ 个单词的词典,每个单词都是由 $a...z$ 范围内的小写字母组成,这里保证所有单词的字母总数最多为 $1000000$。

现在给定 $N$ 个甜鱼需要输入的部分单词列表,每个部分单词最多包含 $1000$ 个字母。

对于每个部分单词 $i$ ,还会提供一个整数 $K_i$ ,自动补全程序需要找到词典中以部分单词 $i$ 为前缀的所有单词中,按字典序排序排在第 $K_i$ 个的单词。

换句话说,对于所有部分单词 $i$ 的有效补全按字典序进行排序,输出此顺序下的第 $K_i$ 个补全。

输入格式

第一行包含两个整数 $W$ 和 $N$。

接下来 $W$ 行,按单词在词典中的顺序,每行描述一个单词。这里保证字典中的所有单词均不相同

接下来 $N$ 行,每行首先包含一个整数 $K_i$ ,然后包含一个部分单词 $i$。

输出格式

共 $N$ 行,第 $i$ 行输出部分单词 $i$ 的第 $K_i$ 个有效补全在词典中出现的位置(一个 $1$ 至 $W$ 的整数)。

如果对于第 $i$ 个部分单词的第 $K_i$ 个有效补全不存在,则输出 $-1$ 。

输入样例 复制

10 3
dab
ba
ab
daa
aa
aaa
aab
abc
ac
dadba
4 a
2 da
4 da

输出样例 复制

3
1
-1

数据范围与提示