2020-09-05 全国統一プログラミング王決定戦予選 A, B, C / 『ししりばの家』・『などらきの首』
全国統一プログラミング王決定戦予選 A, B, C 考察
nikkei2019-qual A - Subscribers
両方を読んでいる数の最大は A
と B
の小さいもの。最小は A
を読んでいない人に最大限 B
を割り当ててはみでた分 (B - (N - A) = A + B - N
) で 0 以上の範囲のもの。
Rust で usize で確保しているとマイナスになると RE になるので注意する (saturating_sub
を使える)。
https://atcoder.jp/contests/nikkei2019-qual/submissions/16516372
nikkei2019-qual B - Touitsu
先頭から順に 3 つの文字列の同じ位置の文字を比較する。 3 文字が同じなら +0 で 2 文字が同じなら +1 そうでないなら +2 。最後まで走査すれば求まる。 N <= 100
なので O(N)
で間に合う。
https://atcoder.jp/contests/nikkei2019-qual/submissions/16516517
A より解きやすく感じた。
nikkei2019-qual C - Different Strokes
証明なし。 A
側だと考えたとき自分を大きくしたいので A_i
のなるべく大きいものを選びたいし相手を小さくしたい (大きいものを取らせたくない) ので B_i
のなるべく大きいものを取ると良さそうだ。 A_i + B_i
の降順で並び替えてあとは指示通りのシミュレーションすると良い。ソート部分が O(NlogN)
で N <= 10^5
なので間に合う。
https://atcoder.jp/contests/nikkei2019-qual/submissions/16516743
『ししりばの家』・『などらきの首』を読んだ。
リングフィットアドベンチャーを続けている。