AT_tupc2024_m Divide Digit String

题目描述

给定一个由数字 $1$ 到 $9$ 组成、长度为 $N$ 的数字串 $S$,以及两个整数 $M,K$($1 \leq K \leq M \leq N$)。 请将 $S$ 分成 $M$ 个非空的数字串,并将每个数字串按十进制视为一个整数。在所有可能的分割方案中,求这些 $M$ 个整数中从大到小第 $K$ 大的数的最小可能值。 给定 $T$ 组测试数据,请分别输出答案。

输入格式

输入按如下格式由标准输入给出。 > $T$ > $\mathrm{case}_1$ > $\vdots$ > $\mathrm{case}_T$ 每组测试数据格式如下: > $N\ M\ K\ S$

输出格式

输出 $T$ 行,第 $i$ 行表示第 $i$ 组测试数据的答案,即将 $S$ 分成 $M$ 个整数后,从大到小第 $K$ 大的数的最小可能值。

说明/提示

### 样例解释 1 对于第 $1$ 组测试数据,将 $S$ 分割为 $\texttt{123},\texttt{45}$,此时第 $1$ 大的数为 $123$,这是可能的最小值。 对于第 $2$ 组测试数据,将 $S$ 分割为 $\texttt{1},\texttt{23},\texttt{45}$,此时第 $3$ 大的数为 $1$,这是可能的最小值。 ### 数据范围 - $1 \leq T \leq 10^5$ - $1 \leq K \leq M \leq N \leq 10^6$ - $T, N, M, K$ 均为整数 - $S$ 是由数字 $1$ 到 $9$ 组成的长度为 $N$ 的数字串 - 每个输入文件中所有测试的 $N$ 之和不超过 $10^6$ 由 ChatGPT 5 翻译