만드는 중입니다

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

베시의 면접

시간 제한2초메모리 제한1024 MB

요약
농부 K명이 소 N명을 차례로 면접할 때, 소 N+1번의 면접 시작 시각과 그녀를 면접할 수 있는 농부를 구합니다.
난이도

보통10점 중 7점

유형
힙, 유니온 파인드, 시뮬레이션
정답자
아직 제출이 없습니다

문제

베시는 새 일자리를 찾고 있다! 다행히 KK명의 농부가 지금 사람을 뽑으며 면접을 진행하고 있다. 일자리 경쟁이 매우 치열해서, 농부들은 소가 지원한 순서대로 번호를 매기고 그 순서에 따라 면접을 보기로 했다. 베시보다 먼저 지원한 소가 NN마리이므로 베시의 번호는 N+1N+1이다 (1≤K≤N≤3⋅1051 \leq K \leq N \leq 3 \cdot 10^5).

면접은 다음과 같이 진행된다. 시각 00에 각 1≤i≤K1 \leq i \leq K에 대해 농부 ii가 소 ii의 면접을 시작한다. 농부는 면접을 마치면 곧바로 줄에서 다음 소의 면접을 시작한다. 여러 농부가 같은 시각에 면접을 마치면, 다음 소는 자신의 선호에 따라 비어 있는 농부 중 누구에게든 면접을 받을 수 있다.

각 1≤i≤N1 \leq i \leq N에 대해 소 ii의 면접은 정확히 tit_i분이 걸린다 (1≤ti≤1091 \leq t_i \leq 10^9). 베시는 이 값을 알고 있지만, 각 소가 어느 농부를 선호하는지는 알지 못한다.

베시는 면접을 철저히 준비하려 한다. 그러려면 면접이 언제 시작되는지, 그리고 어떤 농부가 베시를 면접할 수 있는지 알아야 한다. 이 정보를 구하라.

입력

첫째 줄에 두 정수 NN과 KK가 주어진다.

둘째 줄에 NN개의 정수 t1…tNt_1 \dots t_N이 주어진다.

출력

첫째 줄에 베시의 면접이 시작되는 시각을 출력한다.

둘째 줄에 길이가 KK인 비트열을 출력한다. ii번째 비트는 농부 ii가 베시를 면접할 수 있으면 11, 그렇지 않으면 00이다.

예제1

  1. 예제 1

    입력
    6 3
    3 1 4159 2 6 5
    
    예상 출력
    8
    110