#CF3744. 不便宜的字符串

不便宜的字符串

题目描述

给定一个由小写拉丁字母组成的字符串 ss,其价值是其中包含的字母索引的总和(介于 112626 之间的整数)。例如,字符串 abca 的价值为 1+2+3+1=71+2+3+1=7

给定字符串 ww 和整数 pp,从 ww 中删除最小数量的字母,使其价值小于或等于 pp,并打印结果字符串。请注意,结果字符串可能为空。您可以删除任意字母,它们不必连续。如果给定字符串 ww 的价格小于或等于 pp,则无需删除任何内容,并且必须输出 ww

请注意,删除 ww 中的字母时,剩余字母的顺序将被保留。例如,如果从字符串 test 中删除字母 e,则得到 tst

输入格式

输入的第一行包含一个整数 t(1t104)t(1≤t≤10^4)——测试用例的数量。以下是 tt 个测试用例的描述。

每个测试用例由两行组成。

第一行是字符串 ww,它是非空的,并由小写拉丁字母组成。它的长度不超过 21052⋅10^5

第二行包含一个整数 p(1p5200000)p(1≤p≤5200000)

保证字符串 ww 的长度总和不超过 21052⋅10^5

输出格式

输出 tt 行,第 ii 行应包含对第 ii 组输入数据的答案。打印从 ww 中删除字母以使其价格小于或等于 pp 的最长字符串。如果有多个答案,则输出任何一个。

请注意,空字符串是可能的答案之一。在这种情况下,只需输出一个空字符串即可。

测试样例

5
abca
2
abca
6
codeforces
1
codeforces
10
codeforces
100
aa
abc

cdc
codeforces

样例说明