测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7717. Concat (maximize)

编程题 普及+/提高

题目描述

给你 $N$ 个仅由数字组成的字符串 $S_1,\ldots,S_N$。

从这些字符串中恰好选出 $K$ 个,并以任意顺序将它们连接起来,得到一个新的字符串。求该字符串在去除前导零后作为十进制整数解释时所能达到的最大值。

特别地,若一个字符串完全由字符 0 组成,则其在去除前导零后作为十进制整数解释的值定义为 $0$。

输入格式

输入从标准输入给出,格式如下:

> $N$ $K$
> $S_1$
> $\vdots$
> $S_N$

输出格式

输出答案。

输入输出样例

输入 #1
3 2
123
45
6
输出 #1
45123
输入 #2
5 3
00000
00
1
0000
000
输出 #2
1000000000
输入 #3
9 9
0000000001
000000002
00000003
0000004
000005
00006
0007
008
09
输出 #3
90080007000060000050000004000000030000000020000000001

说明/提示

**样例 1 解释:**
从字符串 123456 中任选两个并拼接,可得到六个字符串:123451236451234566123645

其中,将这些字符串解释为十进制整数时的最大值为 $45123$。

**样例 3 解释:**
答案必须不带前导零输出。

### 约束条件

* $1 \leq K \leq N \leq 10^5$
* $S_i$ 是一个长度在 $1$ 到 $10$(含)之间的数字字符串。
* $N$ 和 $K$ 均为整数。
上一题 去做题 下一题