A96428.插入一位数字

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 nn 的十进制数字串 ss(表示一个非负整数,允许 s=0s=0),以及一个数字 dd0d90\le d\le 9)。你需要将数字 dd 恰好插入一次ss 的某个位置(可以在最前面或最后面),使得得到的新数字尽可能大。输出这个新数字对应的字符串。

插入规则等价于:从左到右扫描 ss,找到第一个满足 si<ds_i \lt d 的位置,把 dd 插入到该位置之前;如果不存在这样的 ii,则将 dd 追加到末尾。

输入格式

第一行:一个整数 nn1n2×1051\le n\le 2\times 10^5),表示字符串 ss 的长度。

第二行:一个仅由字符 '0'–'9' 组成的字符串 ss,长度为 nn。当 n>1n>1 时,ss 无前导零。

第三行:一个字符 dd,为 '0'–'9' 之一。

输出格式

输出将 dd 插入一次后得到的、数值最大的字符串。

输入输出样例

  • 输入#1

    3
    123
    5

    输出#1

    5123
    
  • 输入#2

    3
    789
    6
    

    输出#2

    7896
    
  • 输入#3

    5
    11111
    1
    

    输出#3

    111111
    

说明/提示

1n2×1051\le n\le 2\times 10^5

首页