Module d
Expand description
ยงABC 409 D - String Rotation
refs: https://atcoder.jp/contests/abc409/tasks/abc409_d
use proconio::{input, marker::Chars};
fn main() {
input! { t: usize };
for _ in 0..t {
input! {
n: usize,
mut s: Chars,
}
let mut src = n.saturating_sub(2);
for i in 0..(n - 1) {
if s[i] > s[i + 1] {
src = i;
break;
}
}
let mut dist = n;
for j in src..n {
if s[src] < s[j] {
dist = j;
break;
}
}
let buf = s[src];
s.insert(dist, buf);
s.remove(src);
println!("{}", s.iter().collect::<String>());
}
}