2023-08-22 Brotate をクリアした / ABC140 A, B, C, D を解いた
この間の日曜日 (2023-08-20) に Brotate をクリアした。プレイ時間は約 60 時間。
実績コンプリートまでプレイした。つまり全キャラを出現させてそれぞれ 1 回はクリアした。
そんなに面白いと感じていないようで何度もプレイしたくなる (面白い) 。音楽も良い。
特に制限がないときは霊妙で攻撃速度を上げてパラメーターの差でゴリ押しした。難易度 5 をクリアしたのは雄牛で適当に近距離を上げれば火力は 3 倍のペースで上がるのでアーマーや回避を上げればなんとかなった。
ABC140 : AtCoder Beginner Contest 140
- A - Password https://atcoder.jp/contests/abc140/tasks/abc140_a
- B - Buffet
https://atcoder.jp/contests/abc140/tasks/abc140_b
- 提出: https://atcoder.jp/contests/abc140/submissions/44847216
- 混乱させるタイプの問題
- A を走査して加算していく
- A_i と一つ前に選んだものが 1 ズレなら C を加える
- C - Maximal Value
https://atcoder.jp/contests/abc140/tasks/abc140_c
- 提出: https://atcoder.jp/contests/abc140/submissions/44847575
a[0]
とa[n - 1]
はそれぞれb[0]
とb[n - 2]
になる- それ以外の
a[i + 1]
はそれぞれb[i].min(b[i+1])
- D - Face Produces Unhappiness
https://atcoder.jp/contests/abc140/tasks/abc140_d
- 提出: https://atcoder.jp/contests/abc140/submissions/44848541
- 操作の対象にして得するケースは LR または RL の間 (区切り) だけだと分かる
- 一回の操作で 2 個ずつ区切りがなくなる (幸福である人が増える)
- 区切りの個数を上限として 2K 人幸福である人を増やせる
- 最初に幸福である人と合わせると答えになる
- E - Second Sum
https://atcoder.jp/contests/abc140/tasks/abc140_e
- 未着手
- F - Many Slimes
https://atcoder.jp/contests/abc140/tasks/abc140_f
- 未着手
use proconio::{input, marker::Chars};
fn main() {
input! {
_n: usize,
k: usize,
s: Chars,
};
let mut prev = s[0];
let mut eq = 0_usize;
let mut ne = 0_usize;
for s_i in s.into_iter().skip(1) {
if prev == s_i {
eq += 1;
} else {
ne += 1;
}
prev = s_i;
}
let ans = eq + ne.min(2 * k);
println!("{}", ans);
}
今日のコミット。
- rust-atcoder 1 commit
- tsukota 1 commit