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

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

분수 정렬

시간 제한1초메모리 제한512 MB

요약
서로 다른 정수 두 집합으로 만든 모든 a_i/b_j 분수를 기약분수로 줄여 정렬하고, 각 질의마다 c번째 분수를 출력합니다.
난이도

어려움10점 중 8점

유형
이분 탐색, 정렬, 투 포인터, 정수론
정답자
아직 제출이 없습니다

문제

칠판에 서로 다른 정수 nn개로 이루어진 수열이 두 개 적혀 있다. A=[a1,a2,…,an]A = [a_1, a_2, \ldots, a_n]와 B=[b1,b2,…,bn]B = [b_1, b_2, \ldots, b_n]이다.

이 두 수열로 ai/bja_i / b_j 꼴의 분수 n2n^2개를 만든다. 각 분수를 약분한 뒤 작은 순서대로 정렬한다.

정수 qq와 정수 c1,c2,…,cqc_1, c_2, \ldots, c_q가 주어진다. 각 jj에 대해 정렬된 분수 중 cjc_j번째 분수를 출력한다.

입력

첫째 줄에 nn과 qq가 주어진다 (1≤n≤1051 \le n \le 10^5, 1≤q≤1051 \le q \le 10^5, q≤n2q \le n^2). 추가로 n⋅q≤105n \cdot q \le 10^5 조건이 성립한다.

둘째 줄에 서로 다른 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤1061 \le a_i \le 10^6).

셋째 줄에 서로 다른 정수 b1,b2,…,bnb_1, b_2, \ldots, b_n이 주어진다 (1≤bi≤1061 \le b_i \le 10^6).

넷째 줄에 서로 다른 정수 c1,c2,…,cqc_1, c_2, \ldots, c_q가 주어진다 (1≤ci≤n21 \le c_i \le n^2).

출력

qq개의 줄을 출력한다. jj번째 줄에는 정렬된 분수 중 cjc_j번째 분수를 출력한다. 분수 p/qp/q는 p q 형식으로 출력하며, 반드시 기약분수여야 한다.

힌트

예시에서 분수는 처음에 다음과 같다.

[32,33,34,35,42,43,44,45,12,13,14,15,22,23,24,25]\left[ \frac{3}{2}, \frac{3}{3}, \frac{3}{4}, \frac{3}{5}, \frac{4}{2}, \frac{4}{3}, \frac{4}{4}, \frac{4}{5}, \frac{1}{2}, \frac{1}{3}, \frac{1}{4}, \frac{1}{5}, \frac{2}{2}, \frac{2}{3}, \frac{2}{4}, \frac{2}{5} \right]

약분하면 다음과 같다.

[32,11,34,35,21,43,11,45,12,13,14,15,11,23,12,25]\left[ \frac{3}{2}, \frac{1}{1}, \frac{3}{4}, \frac{3}{5}, \frac{2}{1}, \frac{4}{3}, \frac{1}{1}, \frac{4}{5}, \frac{1}{2}, \frac{1}{3}, \frac{1}{4}, \frac{1}{5}, \frac{1}{1}, \frac{2}{3}, \frac{1}{2}, \frac{2}{5} \right]

정렬하면 다음과 같다.

[15,14,13,25,12,12,35,23,34,45,11,11,11,43,32,21]\left[ \frac{1}{5}, \frac{1}{4}, \frac{1}{3}, \frac{2}{5}, \frac{1}{2}, \frac{1}{2}, \frac{3}{5}, \frac{2}{3}, \frac{3}{4}, \frac{4}{5}, \frac{1}{1}, \frac{1}{1}, \frac{1}{1}, \frac{4}{3}, \frac{3}{2}, \frac{2}{1} \right]

예제1

  1. 예제 1

    입력
    4 8
    3 4 1 2
    2 3 4 5
    1 16 2 4 5 6 10 15
    
    예상 출력
    1 5
    2 1
    1 4
    2 5
    1 2
    1 2
    4 5
    3 2