页面无法加载?点击这里可能会修复。
Placeholder

#8550

합이 K 가 되게 2s 128MB

问题

N 개의 정수 배열이 A[1], A[2], ..., A[N] 로 주어진다.

우리는 이 배열에서 "연속한 부분" 의 합이 정수 K 가 되게 하고 싶다.

다시 말하면,

1 ≤ x ≤ y ≤ N 인 두 정수 x , y 를 골라 A[x] + A[x + 1] + ... + A[y] = K 가 되게 하고 싶은 것이다.

이렇게 x, y 를 선택하는 가짓수를 출력하자.


输入

첫 줄에 두 정수 N, K 를 입력 받는다.

  • 1 ≤ N ≤ 200,000

  • 0 ≤ | K | ≤ 2,000,000,000

두 번째 줄에는 N 개의 정수들이 주어진다. ( 각 정수들의 절댓값은 10,000 을 넘지 않는다. )


输出

연속 부분합이 K 가 되게 x, y 를 잡는 방법의 수를 출력한다.


子任务

编号 分数 条件
#120分

N \le 100

#230分

주어지는 모든 입력은 0 이상의 정수로만 이루어진다.

#350分

추가 제약 조건 없음


示例 #1

5 3
1 1 1 1 1
3

(x, y) = (1, 3), (2, 4), (3, 5)


示例 #2

8 7
1 3 3 4 7 2 5 2
5

(x, y) = (1, 3), (3, 4), (5, 5), (6, 7), (7, 8)

需要登录才能编写代码。