이전 수와 다음 수


답안 제출

Points: 7
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

오름차순으로 정렬된 \(N\)개의 정수가 있다. 같은 값이 여러 번 등장할 수 있다.

\(Q\)개의 질문이 주어진다. 각 질문마다 정수 \(X\)보다 작은 수 중 가장 큰 값인 이전 수와, \(X\)보다 큰 수 중 가장 작은 값인 다음 수를 구하여라.

배열에 \(X\)가 있더라도 \(X\)와 같은 값은 이전 수나 다음 수가 될 수 없다. 이전 수 또는 다음 수가 존재하지 않으면 해당 위치에 NONE을 출력한다.

입력

첫째 줄에 정수의 개수 \(N\)과 질문의 개수 \(Q\)가 공백으로 구분되어 주어진다.

둘째 줄에 오름차순으로 정렬된 \(N\)개의 정수 \(A_1,A_2,\ldots,A_N\)이 공백으로 구분되어 주어진다.

다음 \(Q\)개의 줄에 걸쳐 정수 \(X\)가 하나씩 주어진다.

출력

각 질문마다 이전 수와 다음 수를 공백으로 구분하여 한 줄에 출력한다. 존재하지 않는 값은 NONE으로 출력한다.

제한 사항

  • \(1 \le N,Q \le 100,000\)
  • \(-10^9 \le A_i,X \le 10^9\)
  • 배열은 오름차순으로 정렬되어 있다.
  • 입력으로 주어지는 값은 모두 정수이다.

예제 입력

7 6
1 2 2 4 7 7 10
2
3
7
0
10
11

예제 출력

1 4
2 4
4 10
NONE 1
7 NONE
10 NONE

예를 들어 \(X=2\)일 때 2와 같은 값은 제외한다. 2보다 작은 수 중 가장 큰 값은 1이고, 2보다 큰 수 중 가장 작은 값은 4이다.


코멘트

현재 작성된 코멘트가 없습니다.