#CSES2109. 子串的字典序 II

子串的字典序 II

题目背景

翻译自 CSES-2109 题。

题目描述

给定一个长度为 nn 的字符串。将其所有子串(不一定是不同的)按字典序排序,求出第 kk 个最小的子串。

输入格式

第一行输入一个长度为 n n 的字符串,字符串中的字符是小写字母 aza–z

第二行输入一个整数 k k

输出格式

输出第 k k 个最小的不同子串(按字典序排序)。

样例

baabaa
10
ab

样例1解释

按字典序排序,前 1010 个最小的子串是:a, a, a, a, aa, aa, aab, aaba, aabaa 和 ab。因此,第 1010 个最小的子串是 "ab"。

说明/提示

1n1051 \leq n \leq 10^5

1kn(n+1)2 1 \leq k \leq \frac{n(n+1)}{2} ,并且保证 k k 不会超过不同子串的总数。