use itertools::Itertools; use proconio::{fastout, input}; #[fastout] fn main() { input! { n: usize, m: usize, a: [i64; n], b: [i64; n], } let d = (0..n).map(|i| (a[i] - b[i]).max(0)).collect_vec(); let mut sum = d[0..m].iter().sum::(); let mut ans = sum; for i in m..n { sum += -d[i - m] + d[i]; ans = ans.max(sum); } println!("{}", ans); }