페이지

2003번: 수들의 합 2

https://www.acmicpc.net/problem/2003


$O(n)$

inchworm algorithm을 이용한다.


#include<cstdio>
int n, m, r, h, a[10000], s;
int main() {
    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; i++) {
        scanf("%d", a + i);
        s += a[i];
        while (s > m) s -= a[h++];
        r += s == m;
    }
    printf("%d", r);
    return 0;
}

댓글 없음 :

댓글 쓰기