만드는 중입니다

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

kex

면접 대비

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

요약
음이 아닌 정수 집합 A와 여러 k 값이 주어질 때, 각 k마다 A에 없는 음이 아닌 정수 중 k번째로 작은 수를 구합니다.
난이도

보통10점 중 4점

유형
이분 탐색, 정렬, 배열
정답자
아직 제출이 없습니다

문제

음이 아닌 정수의 집합 AA가 주어진다. AA에 속하지 않는 음이 아닌 정수 중 가장 작은 값을 mex(A)\mathrm{mex}(A)라고 한다. 예를 들어 mex({0,1,2,4,5,9})=3\mathrm{mex}(\{0, 1, 2, 4, 5, 9\})=3이다.

아나는 mex의 개념을 일반화하였다. 양의 정수 kk와 음이 아닌 정수의 집합 AA에 대해, kex(A,k)\mathrm{kex}(A,k)는 AA에 속하지 않는 정수 중 kk번째로 작은 값이다. 예를 들어 kex({0,1,2,4,5,9},2)=6\mathrm{kex}(\{0, 1, 2, 4, 5, 9\}, 2)=6이다.

주어진 집합 AA와 qq개의 kik_i에 대해 각 ii마다 kex(A,ki)\mathrm{kex}(A, k_i)를 구하시오.

입력

첫 번째 줄에 정수 nn과 qq (1≤n,q≤1051 \leq n, q \leq 10^5)가 주어진다. 각각 AA의 원소 개수와 구해야 할 kex 값의 개수다.

두 번째 줄에는 서로 다른 음이 아닌 정수 nn개가 주어진다. 각 값은 10910^9 이하다. 이 정수들이 집합 AA의 원소다.

세 번째 줄에는 정수 kik_i (1≤ki≤1091 \leq k_i \leq 10^9) qq개가 주어진다.

출력

kex(A,k1),kex(A,k2),…,kex(A,kq)\mathrm{kex}(A, k_1), \mathrm{kex}(A, k_2), \ldots, \mathrm{kex}(A, k_q)를 차례로 출력한다.

예제1

  1. 예제 1

    입력
    4 10
    1 2 6 7
    1 2 3 4 5 6 7 8 10 11
    
    예상 출력
    0 3 4 5 8 9 10 11 13 14