这题抄完 SA 之后就下面几行吧... 为什么题解全在表演 SAM,唯一一个 SA 选手还写了一堆不知道在干嘛的二分...
int k;
cin >> k;
for (int i = 1;i <= sa.n;++i) {
int u = sa.sa[i];
int cur = (sa.n - u + 1) - sa.h[i];
if (k <= cur) {
cout << s.substr(u - 1, sa.h[i] + k) << endl;
break;
} else {
k -= cur;
}
}