만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

제로 게임

면접 대비

시간 제한1초메모리 제한512 MB

요약
0과 1로 이루어진 문자열이 주어질 때 각 K에 대해 최대 K번 이동으로 만들 수 있는 0의 연속 구간 최대 길이를 구합니다.
난이도

보통10점 중 4점

유형
슬라이딩 윈도우, 문자열, 투 포인터
정답자
아직 제출이 없습니다

문제

0과 1로만 이루어진 문자열 SS가 주어진다. 심심해서 이 문자열을 가지고 놀려고 한다. 한 번의 연산에서 문자열의 임의의 문자 하나를 골라 문자열 안의 다른 위치로 옮길 수 있다. 예를 들어 S=S = 0010이라면 첫 번째 0을 맨 뒤로 옮겨 SS를 0100으로 만들 수 있다.

또한 QQ개의 수 K1,K2,…,KQK_1, K_2, \ldots, K_Q가 주어진다. 각 ii에 대해, SS에서 시작해 연산을 최대 KiK_i번 사용했을 때 만들 수 있는 연속된 0의 최대 개수를 구하라.

입력

첫째 줄에 문자열 SS가 주어진다. 둘째 줄에 정수 QQ가 주어진다. 이어서 QQ개의 줄에 각각 정수 KiK_i가 한 개씩 주어진다.

출력

각 질의에 대한 답을 한 줄에 하나씩 출력한다.

제한

2≤N≤1062 \le N \le 10^6이며, NN은 SS의 길이이다. SS는 0과 1로만 이루어져 있다. 1≤Q≤1051 \le Q \le 10^5, N×Q≤2×107N \times Q \le 2 \times 10^7, 1≤Ki≤1061 \le K_i \le 10^6이다.

예제1

  1. 예제 1

    입력
    0000110000111110
    5
    1
    2
    3
    4
    5
    
    예상 출력
    5
    8
    9
    9
    9