Качественный отдых
면접 대비시간 제한1초메모리 제한2048 MB
0과 1로 주어진 근무/휴무 일정에서 추가 휴무 일수를 받았을 때, 길이 2 이상인 연속 휴무 구간에 속하는 휴무 일수의 최댓값을 각 질의마다 구한다.
문제
Прохор проходит стажировку продолжительностью календарных дней в ИТ-компании. Прохор стажируется в службе поддержки, поэтому у него сложный график рабочих и выходных дней на время стажировки.
Кроме выходных, у Прохора есть некоторое количество отгулов --- дополнительных выходных дней, которые он может взять в любые рабочие дни.
За один выходной день Прохор качественно отдохнуть не сможет, поэтому он считает днями качественного отдыха только те выходные дни, которые входят в последовательность из идущих подряд двух или более выходных дней.
Вам даны запросов --- различных значений количества отгулов, которые может взять Прохор. Ваша задача --- по заданному графику рабочих и выходных дней стажировки определить для каждого запроса, какое максимальное количество дней качественного отдыха за время стажировки может получить Прохор.
입력
Первая строка входных данных содержит два целых числа и (, ).
Следующая строка содержит строку длины , состоящую из символов <<0>> и <<1>> --- график стажировки. В этой строке символом <<0>> обозначается рабочий день, а символом <<1>> --- выходной.
В следующих строках находятся целых чисел () --- количество отгулов в -м запросе. Гарантируется, что каждое значение не превосходит количества рабочих дней в графике стажировки.
출력
Выведите целых чисел --- для каждого значения определите наибольшее количество качественных дней отдыха, которое может получить Прохор за время стажировки, выбрав дополнительных выходных дней.
힌트
В первом примере все три дня стажировки являются рабочими. Если взять менее двух отгулов, дней качественного отдыха получить невозможно. Для или можно выбрать отгулами первые дней стажировки, и все они будут днями качественного отдыха.
Во втором примере один отгул выгодно взять во второй день стажировки, тогда первые три дня стажировки будут днями качественного отдыха.