2024-02-27 typical90 006
競プロ典型 90 問
- 006 - Smallest Subsequence(★5)
https://atcoder.jp/contests/typical90/tasks/typical90_f
- 提出: https://atcoder.jp/contests/typical90/submissions/50686393
- 1 文字目は 0..N + 1 - K から最小を選ぶ
- 2 文字目は 1文字目の位置+1..N + 1 - (K - 1) から最小を選ぶ
- …… を K 文字分繰り返せば良い
use proconio::{input, marker::Chars};
fn main() {
input! {
n: usize,
k: usize,
s: Chars,
};
let mut ans = vec![];
let mut l = 0_usize;
for j in (1..=k).rev() {
let r = n + 1 - j;
let min_i = s[l..r]
.iter()
.copied()
.enumerate()
.min_by_key(|&(_, c)| c)
.map(|(i, _)| l + i)
.unwrap();
ans.push(s[min_i]);
l = min_i + 1;
}
println!("{}", ans.into_iter().collect::<String>());
}
今日のコミット。
- rust-atcoder 1 commit
- genuuid 2 commits
- genpi 4 commits