bouzuya.hatenablog.com

ぼうずやのにっき

ARC098 C を解いた

  • ARC098 C - Attention (AtCoder Regular Contest 098 C問題) https://atcoder.jp/contests/arc098/tasks/arc098_a
    • https://atcoder.jp/contests/arc098/submissions/41192598
    • 累積和
    • 問題文を読み違えてリーダーの向いている方向を見るのかと勘違いして時間がかかった
    • 左からある位置までの 'W' の個数 ('E' に変えないといけない個数)
    • 右からある位置までの 'E' の個数 ('W' に変えないといけない個数)
    • ↑の2つを事前に求めておき、各位置についてそれらの和から 1 引いたものの最小を求めれば答えになる
    • -1 するのは、リーダー文字は左右のどちらかに +1 されているが、リーダーの向きは無視できるため
use proconio::{input, marker::Chars};

fn main() {
    input! {
        n: usize,
        s: Chars,
    }

    let mut count_w = vec![0; n];
    for i in 0..n {
        count_w[i] = if i > 0 { count_w[i - 1] } else { 0 } + if s[i] == 'W' { 1 } else { 0 };
    }
    let mut count_e = vec![0; n];
    for i in 0..n {
        count_e[i] =
            if i > 0 { count_e[i - 1] } else { 0 } + if s[n - 1 - i] == 'E' { 1 } else { 0 };
    }
    count_e.reverse();

    let mut min = n;
    for i in 0..n {
        min = min.min(count_e[i] + count_w[i] - 1);
    }
    println!("{}", min);
}

ディスプレイをひとつ減らした。会社支給の MacBook Pro (M2) ではディスプレイを 1 枚しか認識できないようなので。また机のガタツキがあったのでネジを締め直した。

センサーライトの設置箇所を増やした。

いくつかの蝶番のネジを締め直した。

子どもが声を真似する人形の電池切れを訴えたので電池を交換した。

tsukota がぜんぜん進んでいない。ゼロから書き直してもいいくらいに構造を変えようとしている。


今日のコミット。