The K-th Distinct Substring — Solution & Editorial
Walk the suffix array in order; suffix i contributes (n−sa[i]−lcp[i]) new distinct substrings (those not shared with the previous suffix). Locate the block containing K and slice.
Complexity: O(n log n)