CF1076A Minimizing the String

题目描述

给定一个由 $n$ 个小写拉丁字母组成的字符串 $s$。 你最多可以从该字符串中删除一个字符(即可以不删除,也可以删除一个字符),使得经过操作后得到的字符串在所有可能的结果中字典序最小。 字符串 $s = s_1 s_2 \dots s_n$ 的字典序小于字符串 $t = t_1 t_2 \dots t_m$,当且仅当 $n < m$ 且 $s_1 = t_1, s_2 = t_2, \dots, s_n = t_n$,或者存在一个整数 $p$,满足 $p \le n$ 且 $s_1 = t_1, s_2 = t_2, \dots, s_{p-1} = t_{p-1}$,并且 $s_p < t_p$。 例如,“aaa” 小于 “aaaa”,“abb” 小于 “abc”,“pqr” 小于 “z”。

输入格式

第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示字符串 $s$ 的长度。 第二行包含恰好 $n$ 个小写拉丁字母,表示字符串 $s$。

输出格式

输出一个字符串,即通过最多删除一个字符后能得到的字典序最小的字符串。

说明/提示

在第一个样例中,你可以删除 $s$ 的任意一个字符,得到字符串 “aa”。 在第二个样例中,"abca" < "abcd" < "abcda" < "abda" < "acda" < "bcda"。 由 ChatGPT 4.1 翻译