아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Early Orders

면접 대비

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

요약
1부터 k까지의 모든 값이 적어도 한 번씩 등장하는 수열이 주어질 때, 각 값을 정확히 한 번씩 포함하는 부분 수열 가운데 사전순으로 가장 작은 것을 찾는다.
난이도

보통10점 중 6점

유형
스택, 그리디, 배열, 해시맵
정답자
아직 제출이 없습니다

문제

정수 리스트 x1,x2,…,xnx_1, x_2, \ldots, x_n과 수 kk가 주어진다. 11부터 kk까지의 각 정수 ii는 리스트에 적어도 한 번 등장한다.

xx의 부분 수열 중에서 11부터 kk까지의 각 정수를 정확히 한 번씩 포함하는 것 가운데 사전순으로 가장 작은 것을 구하라.

입력

첫째 줄에 두 정수 nn과 kk가 주어진다. 1≤k≤n≤200 0001 \le k \le n \le 200\,000이다. 다음 nn개의 줄에 각각 정수 xix_i가 주어지며 1≤xi≤k1 \le x_i \le k이다.

출력

xx의 부분 수열 중에서 11부터 kk까지의 각 정수를 정확히 한 번씩 포함하는 것 가운데 사전순으로 가장 작은 것을 공백으로 구분하여 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    6 3
    3
    2
    1
    3
    1
    3
    
    예상 출력
    2 1 3
    
  2. 예제 2

    입력
    10 5
    5
    4
    3
    2
    1
    4
    1
    1
    5
    5
    
    예상 출력
    3 2 1 4 5