bouzuya.hatenablog.com

ぼうずやのにっき

ABC310 に参加した / ABC032 C を解いた

ABC310 に参加した。 1267 → 1267 (±0) 。 D 問題で変にハマって飛ばしたものの、 E を解けず、戻ってきて時間ギリギリで D を解いた。

https://atcoder.jp/users/bouzuya/history/share/abc310

うーん……。


『水星の魔女』を観た。


use proconio::input;

fn main() {
    input! {
        n: usize,
        k: usize,
        s: [usize; n],
    };
    if s.iter().any(|&s_i| s_i == 0) {
        println!("{}", n);
        return;
    }

    let mut product = 1_usize;
    let mut max = 0_usize;
    let mut r = 0;
    for l in 0..n {
        while (r < n) && (product.checked_mul(s[r]).is_some() && product * s[r] <= k) {
            product *= s[r];
            r += 1;
        }
        max = max.max(r - l);
        if r == l {
            r += 1;
        } else {
            product /= s[l];
        }
    }
    let ans = max;
    println!("{}", ans);
}

今日のコミット。