aizu_online_judge/dsl/
dsl_3_c.rs1use competitive::prelude::*;
2
3#[verify::aizu_online_judge("DSL_3_C")]
4pub fn dsl_3_c(reader: impl Read, mut writer: impl Write) {
5 let s = read_all_unchecked(reader);
6 let mut scanner = Scanner::new(&s);
7 scan!(scanner, n, q, a: [u64; n], x: [u64]);
8 for x in x.take(q) {
9 let mut ans = 0;
10 let mut sum = 0;
11 let mut l = 0;
12 for (r, &b) in a.iter().enumerate() {
13 sum += b;
14 while sum > x {
15 sum -= a[l];
16 l += 1;
17 }
18 ans += r + 1 - l;
19 }
20 writeln!(writer, "{}", ans).ok();
21 }
22}