#P7478. StickSuger
StickSuger
题目背景
YSGHYYDS
题目描述
YSGH 给你一个长度为 的字符串 。设 表示字符串 的第 个字符。你可以选择一个二元组 ,然后交换 和 。二元组 是合法的当且仅当 并且交换后的字符串的字典序比原串大。
对于两个字符 ,称 当且仅当 的 ASCII 码大于 的 ASCII 码。
对于两个长度为 的字符串 , 的字典序大于 当且仅当存在一个 使得 , 并且 。
如果存在多种合法方案,输出最大的二元组。
对于两个二元组 ,,称 小于 当且仅当 。
如果不存在合法方案,则输出 -1
。
保证 只包含小写英文字母。
输入格式
第一行,一个正整数 ,表示字符串 的长度。
第二行,一个字符串 。
输出格式
如果无解,输出 -1
。
否则一行输出两个整数 表示最大的合法二元组 。
3
acb
1 3
6
zyxwvu
-1
14
aabbccddccbbaa
6 8
提示
【样例解释 #1】
如果选择二元组 ,交换 和 后的字符串为 abc
,字典序比 acb
小,所以不合法。
如果选择二元组 ,交换 和 后的字符串为 bca
,字典序比 acb
大,是合法的。
虽然 也是合法的,但是没有 大。所以答案是 。
【样例解释 #2】
容易看出任何一个二元组都不合法。
【数据范围】
本题采用捆绑测试。
对于 的数据,, 只包含小写英文字母。
- Subtask 1(4 points): 只包含一种字符。
- Subtask 2(10 points):。
- Subtask 3(16 points):。
- Subtask 4(25 points):。
- Subtask 5(18 points):。
- Subtask 6(27 points):。