2023-05-24 ガラスが割れた / PAST #3 J を解いた
ガラスが割れた。家にあるガラスのうち最も大きいものが。ガラス屋 (?) に電話するも繋がらず。うーん……。
キムチを食べたせいかお腹の調子がずっと悪い。からいものはそれなりに好きだけど苦手なんだよな……。猫アレルギーなのに猫好きの人みたいだ。
- PAST #3 J - 回転寿司 (第三回アルゴリズム実技検定 J問題)
https://atcoder.jp/contests/past202005-open/tasks/past202005_j
- https://atcoder.jp/contests/past202005-open/submissions/41671319
- 子ども i のいままでに食べた寿司の美味しさの最大を B_i とする
- 条件に従って食べると B は常に降順になる
- 次に食べる子どもは B を二分探索すれば効率よく探察できる
use proconio::input;
use superslice::Ext;
fn main() {
input! {
n: usize,
m: usize,
a: [usize; m],
}
let mut ans = vec![0_i64; m];
let mut kids = vec![0_usize; n];
for (i, a_i) in a.iter().copied().enumerate() {
let index = kids.upper_bound(&(a_i - 1));
if index > 0 {
kids[index - 1] = a_i;
ans[i] = (n - (index - 1)) as i64;
} else {
ans[i] = -1;
}
}
for a in ans {
println!("{}", a);
}
}
今日のコミット。
- tsukota 1 commit
- rust-atcoder 1 commit