해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Nastya는 생일에 배열을 하나 더 받았으며, 이 배열로 Byteland의 전통적인 게임을 할 수 있다. 하지만 게임을 하려면 플레이어들은 먼저
를 만족하는 배열의 부분 구간을 선택해야 한다. 여기서 p는 주어진 배열에 있는 모든 정수의 곱이고, s는 그 합이며, k는 모든 부분 구간에 대해 주어진 상수이다.
Nastya는 배열의 부분 구간 중 설명한 조건을 만족하는 것이 몇 개인지 궁금해한다. 배열의 부분 구간은 배열에서 연속한 여러 정수이다.
첫 번째 줄에는 두 정수 n와 k (1 ≤ n ≤ 2·105, 1 ≤ k ≤ 105)가 주어진다. 여기서 n은 배열의 길이이고, k는 위에서 설명한 상수이다.
두 번째 줄에는 배열의 원소인 n개의 정수 a1, a2, ..., (1 ≤ ai ≤ 108)이 주어진다.
곱과 합의 비가 k와 같은 부분 구간의 개수를 유일한 줄에 출력한다.
4 2
6 3 8 1
2
1 1
1
1
첫 번째 예제에서 유일한 부분 구간은 이다. 합은 1이고 곱은 1이므로,
이기 때문에 조건을 만족한다.
두 번째 예제에는 조건을 만족하는 부분 구간이 둘 있으며, 와 이다. 부분 구간 의 합은 9이고 곱은 18이므로,
이기 때문에 조건을 만족한다. 부분 구간 의 합은 12이고 곱은 24이므로,
이기 때문에 조건을 만족한다.