게임

NYPC 2024 · Round 1

핑크빈과 블랙빈은 문자 0011로 구성된 길이 NN인 문자열을 가지고 게임을 한다. 둘은 각각 KK 번의 턴을 진행하며, 핑크빈이 먼저 시작하여 번갈아 가며 턴을 진행한다. 각 턴에서 핑크빈과 블랙빈은 문자열에서 임의의 한 글자를 제거한다. 문자열의 중간에 있는 한 글자가 제거되면 남은 부분이 이어 붙어서 하나의 문자열이 된다.

이 게임에서 핑크빈의 목표는 2K2K 번의 턴이 모두 끝나고 남은 문자열을 이진수로 해석했을 때, 가능한 작은 값이 되게 하려는 것이다. 이 문제에서 이진수 표현은 제일 앞 자리가 00인 것을 허용한다. 블랙빈의 목표는 2K2K 번의 턴이 모두 끝나고 남은 문자열을 이진수로 해석했을 때, 가능한 값이 되게 하려는 것이다.

핑크빈과 블랙빈이 모두 최선을 다한다고 가정했을 때 마지막에 남는 길이 N2KN - 2K인 문자열을 출력하는 프로그램을 작성하라.

입력 형식

첫 줄에는 문자열의 길이를 나타내는 정수 NN과 턴의 수 KK가 공백으로 구분되어 주어진다. (3N1000000;3 \le N \le 1\,000\,000; 1K<N21 \le K < \frac{N}{2})

그다음 줄에 0011로 구성된 길이 NN인 문자열이 주어진다.

출력 형식

첫 줄에 2K2K 번의 턴이 지난 후, 길이 N2KN-2K인 남은 문자열을 출력한다.

예제

입력

8 2 10110101

출력

1101

예제 설명

문자열 1011010110110101에서 첫 턴에 핑크빈이 세 번째 글자를 제거하여 문자열은 10101011010101로 바뀐다.
그다음 턴에 블랙빈이 네 번째 글자를 제거하여 문자열은 101101101101로 바뀐다.
그다음 턴에 핑크빈이 세 번째 글자를 제거하여 문자열은 1010110101로 바뀐다.
마지막 턴에 블랙빈이 두 번째 글자를 제거하여 문자열은 11011101로 바뀐다.

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 8

N8N \le 8

종류 2: 13

N20N \le 20

종류 3: 33

N3000N \le 3\,000

종류 4: 46

추가적인 제한 조건이 없음.

해설