こんにちは、ナナオです。

前回に引き続き競プロを実施していきたいと思います。

今回の問題は以下です。

024 - Select +/- One(★2)

実装

まずは以下のように実装しました。

use proconio::input;

fn main() {
    input! {
        n: usize,
        k: u32,
        a: [i32; n],
        b: [i32; n],
    }
    let d = (0..n).fold(0, |acc, i| acc + (a[i] - b[i]).abs()) as u32;
    if k >= d && d % 2 == k % 2 {
        println!("Yes");
    } else {
        println!("No");
    }
}

なんとこれで解けてしまいました。

なんか似てる問題あったな~と思ったらこれでした。

Atcoder ABS ABC086C Traveling

fold使ってすっきり実装できましたし、満足です。

というわけで今回はこれで👍