CF1886C.Decreasing String
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
回忆一下,如果字符串 a 是字符串 b 的前缀(且 a=b),或者存在某个下标 i(1≤i≤min(∣a∣,∣b∣))使得 ai<bi,并且对于任意下标 j(1≤j<i)都有 aj=bj,那么字符串 a 在字典序上小于字符串 b。
现在给定一个由小写拉丁字母组成的字符串序列 s1,s2,…,sn。字符串 s1 已经给出,其他字符串按照如下规则生成:要得到字符串 si,从字符串 si−1 中删除一个字符,使得得到的字符串 si 在字典序上最小。
例如,如果 s1=dacb,那么 s2=acb,s3=ab,s4=a。
接下来我们得到字符串 S=s1+s2+⋯+sn(S 表示所有字符串 s1,s2,…,sn 的拼接)。
你需要输出字符串 S 的第 pos 个字符(即 Spos)。
输入格式
第一行包含一个整数 t,表示测试用例的数量(1≤t≤104)。
每个测试用例包含两行。第一行是字符串 s1(1≤∣s1∣≤106),由小写拉丁字母组成。第二行包含一个整数 pos(1≤pos≤2∣s1∣⋅(∣s1∣+1))。你可以认为 n 等于给定字符串的长度(n=∣s1∣)。
输入的额外限制:所有测试用例中 ∣s1∣ 的总和不超过 106。
输出格式
对于每个测试用例,输出答案——即字符串 S 的第 pos 个字符。注意,不同测试用例的答案之间不需要用空格或换行分隔。
输入输出样例
输入#1
3 cab 6 abcd 9 x 1
输出#1
abx