Xâu con thứ k theo thứ tự từ điển

Đề bài

Mô tả

Cho một xâu s chỉ gồm các chữ cái latin in thường. Liệt kê tất cả các xâu con liên tiếp (substring) của s — bao gồm cả các xâu con trùng nhau (ví dụ, xâu s= "aab" có sáu xâu con: "a", "a", "aa", "ab", "aab", "b") — rồi sắp xếp chúng theo thứ tự từ điển.

Cho số nguyên dương k. Hãy in ra xâu con thứ k trong danh sách đã sắp xếp. Nếu tổng số xâu con nhỏ hơn k, hãy in ra dòng No such line. (không có dấu nháy).

So sánh thứ tự từ điển: xâu x nhỏ hơn xâu y nếu hoặc x là tiền tố thực sự của y, hoặc tồn tại vị trí i đầu tiên mà xi<yi.

Dữ liệu vào

  • Dòng đầu chứa xâu s không rỗng gồm các chữ cái latin in thường.
  • Dòng thứ hai chứa số nguyên k.

Dữ liệu ra

  • In ra xâu con thứ k theo thứ tự từ điển, hoặc dòng No such line. nếu không tồn tại.

Ràng buộc

  • 1|s|105
  • 1k105

Ví dụ

Input Output Giải thích
aa
2
a Các xâu con đã sắp xếp: "a", "a", "aa". Thứ hai là "a".
abc
5
bc Các xâu con đã sắp xếp: "a", "ab", "abc", "b", "bc", "c". Thứ năm là "bc".
abab
7
b Các xâu con đã sắp xếp: "a", "a", "ab", "ab", "aba", "abab", "b", "b", "ba", "bab". Thứ bảy là "b".
codeforces
1
c Xâu con nhỏ nhất theo thứ tự từ điển là "c" (do bắt đầu bằng 'c').

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0