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

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

민방위

면접 대비

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

요약
직선 위에 있는 n개 마을과 m개 대피소의 위치가 주어질 때, 각 마을에서 가장 가까운 대피소의 번호를 출력한다.
난이도

보통10점 중 4점

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

문제

민방위 본부는 핵 공격에 대비한 대피 계획을 갱신하려 한다. 트리데샤토이 지역의 nn개 마을은 모두 하나의 직선 도로를 따라 위치해 있다. 도로를 따라 mm개의 대피소도 있으며, 이곳에서 마을 주민들이 핵 공격을 피할 수 있다.

핵 경보가 울렸을 때 대피가 최대한 효율적으로 이루어지려면 각 마을마다 가장 가까운 대피소를 정해야 한다.

입력

첫째 줄에는 마을의 수 nn이 주어진다 (1≤n≤100 0001 \le n \le 100\,000). 둘째 줄에는 서로 다른 nn개의 정수가 주어지며, ii번째 수는 도로 시작점에서 ii번째 마을까지의 거리이다.

셋째 줄에는 대피소의 수 mm이 주어진다 (1≤m≤100 0001 \le m \le 100\,000). 넷째 줄에는 서로 다른 mm개의 정수가 주어지며, ii번째 수는 도로 시작점에서 ii번째 대피소까지의 거리이다.

모든 거리는 양수이고 10910^9를 넘지 않는다. 마을과 대피소가 같은 지점에 있을 수도 있다.

출력

nn개의 수를 출력한다. 각 마을마다 가장 가까운 대피소의 번호를 출력한다. 대피소는 입력에 주어진 순서대로 1번부터 mm번까지 번호가 매겨져 있다.

예제1

  1. 예제 1

    입력
    4
    1 2 6 10
    2
    7 3
    
    예상 출력
    2 2 1 1