Submission #31948385
Source Code Expand
use std::{cmp::Reverse, collections::BinaryHeap};
use proconio::{input, marker::Chars};
fn main() {
input! {
n: usize,
s: Chars,
};
let mut pq = BinaryHeap::new();
for (i, s_i) in s.iter().copied().enumerate() {
pq.push((Reverse(s_i), i));
}
let mut r = n;
let mut ans = s.clone();
for (l, s_l) in s.iter().copied().enumerate() {
while let Some((Reverse(s_j), j)) = pq.pop() {
if j < l || r <= j {
continue;
}
if s_j < s_l {
r = j;
ans.swap(l, r);
} else {
pq.push((Reverse(s_j), j));
}
break;
}
}
println!("{}", ans.iter().collect::<String>());
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - Reserve or Reverse |
| User | bouzuya |
| Language | Rust (1.42.0) |
| Score | 400 |
| Code Size | 768 Byte |
| Status | AC |
| Exec Time | 48 ms |
| Memory | 7076 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| All | hand_01.txt, hand_02.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt, random_28.txt, random_29.txt, random_30.txt, random_31.txt, random_32.txt, random_33.txt, random_34.txt, random_35.txt, random_36.txt, random_37.txt, random_38.txt, random_39.txt, random_40.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| hand_01.txt | AC | 46 ms | 6996 KiB |
| hand_02.txt | AC | 31 ms | 7064 KiB |
| random_01.txt | AC | 1 ms | 2036 KiB |
| random_02.txt | AC | 39 ms | 6900 KiB |
| random_03.txt | AC | 45 ms | 6988 KiB |
| random_04.txt | AC | 40 ms | 6984 KiB |
| random_05.txt | AC | 42 ms | 6964 KiB |
| random_06.txt | AC | 48 ms | 7024 KiB |
| random_07.txt | AC | 45 ms | 7076 KiB |
| random_08.txt | AC | 43 ms | 7024 KiB |
| random_09.txt | AC | 41 ms | 6952 KiB |
| random_10.txt | AC | 43 ms | 6976 KiB |
| random_11.txt | AC | 43 ms | 6980 KiB |
| random_12.txt | AC | 9 ms | 2700 KiB |
| random_13.txt | AC | 12 ms | 3184 KiB |
| random_14.txt | AC | 6 ms | 2524 KiB |
| random_15.txt | AC | 7 ms | 2576 KiB |
| random_16.txt | AC | 7 ms | 2552 KiB |
| random_17.txt | AC | 12 ms | 2708 KiB |
| random_18.txt | AC | 2 ms | 2292 KiB |
| random_19.txt | AC | 6 ms | 2360 KiB |
| random_20.txt | AC | 19 ms | 3196 KiB |
| random_21.txt | AC | 17 ms | 3448 KiB |
| random_22.txt | AC | 11 ms | 2860 KiB |
| random_23.txt | AC | 17 ms | 3112 KiB |
| random_24.txt | AC | 22 ms | 3996 KiB |
| random_25.txt | AC | 21 ms | 4096 KiB |
| random_26.txt | AC | 17 ms | 3584 KiB |
| random_27.txt | AC | 19 ms | 3756 KiB |
| random_28.txt | AC | 28 ms | 4752 KiB |
| random_29.txt | AC | 26 ms | 4804 KiB |
| random_30.txt | AC | 26 ms | 4408 KiB |
| random_31.txt | AC | 24 ms | 4464 KiB |
| random_32.txt | AC | 45 ms | 6644 KiB |
| random_33.txt | AC | 46 ms | 6876 KiB |
| random_34.txt | AC | 38 ms | 6288 KiB |
| random_35.txt | AC | 39 ms | 6548 KiB |
| random_36.txt | AC | 5 ms | 2352 KiB |
| random_37.txt | AC | 12 ms | 2672 KiB |
| random_38.txt | AC | 3 ms | 2080 KiB |
| random_39.txt | AC | 11 ms | 2276 KiB |
| random_40.txt | AC | 15 ms | 3104 KiB |
| sample_01.txt | AC | 2 ms | 2068 KiB |
| sample_02.txt | AC | 3 ms | 2108 KiB |
| sample_03.txt | AC | 2 ms | 2028 KiB |
| sample_04.txt | AC | 2 ms | 2044 KiB |