소소고금

월간 향유회 2025. 01. D번 BOJ 33275번
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB141413531.532%

문제

$0$과 $1$로만 이루어진 길이 $N$의 이진 문자열 $S$가 주어진다. $S$의 부분 문자열 중 이를 이진법 표기로 생각했을 때의 값이 $K$의 배수인 것의 수를 구하여라. 단, 부분 문자열의 첫 원소가 $0$이어도 된다.

엄밀하게는 $S_1S_2 \cdots S_N$에서 $K \mid \sum_{i=l}^{r}S_i2^{r-i}$ $(1 \le l \le r \le N)$인 $(l, r)$ 쌍의 수를 구하면 된다.

입력

첫째 줄에 문자열의 길이 $N$과 양의 정수 $K$가 공백으로 구분되어 주어진다. $(1 \leq N, K \leq 500\,000)$

둘째 줄에 문자열 $S$가 주어진다. $S$는 $0$과 $1$로만 구성되어 있다.

출력

이진법 표기로 생각했을 때의 값이 $K$의 배수인 부분 문자열의 수를 출력한다.

예제 입력 1

4 6
1100

예제 출력 1

5

출처

Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2025. 01. D번

  • 문제를 만든 사람: heeda0528
  • 문제를 검수한 사람: cologne, jthis, lky7674, utilforever