CF1155A Reverse a Substring

题目描述

给定一个**仅含小写字母**的字符串$s$,其长度为$n$ 我们定义子串为一个字符串中连续的一段,比如```acab```是```abacaba```的子串(位置是```3~6```),而```aa```和```d```不是。所以对于一个字符串$s$,它的位置为$[l,r]$的子串可以表示成$s[l;r]$,即$s_ls_{l+1}...s_r$ 您需要指定$s$的**一个**子串并翻转这个子串,使得新字符串的字典序比原来的字符串$s$小。注意不是最小。 如果可以满足题意,输出```YES```,再输出反转的区间。否则输出```NO``` 我们认为字符串$x

输入格式

第一行一个整数 $n(2\leq n \leq 3\times10^5)$ ,表示字符串$s$的长度 第二行一个**仅含小写字母**的字符串$s$

输出格式

如果可以通过翻转**一个**子串得到字典序更小的字符串,输出```YES```,换行,再输出反转的区间(如果有多种方案仅输出一个)。否则仅输出```NO```

说明/提示

样例$1$中,翻转后的字符串是```aacabba```