Skip to main content

aizu_online_judge/dsl/
dsl_3_c.rs

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