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

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

블랙홀과 소행성

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

요약
수직선 위 소행성들이 모두 블랙홀에 빨려 들어가도록 하는 최소 정수 인력 P를 구한다.
난이도

보통10점 중 7점

유형
이분 탐색, 정렬, 그리디, 누적 합
정답자
아직 제출이 없습니다

문제

현재 시뮬레이션 우주에는 수직선 위에 블랙홀 NN개와 소행성 MM개가 존재한다. 블랙홀 NN개의 끌어당기는 힘은 PP로 같다.

블랙홀 ii의 위치가 b_ib\_i고, 소행성 jj의 위치를 a_ja\_j, 질량을 w_jw\_j라고 했을 때, 이 시뮬레이션 우주에서는 ∣b_i−a_j∣≤Pw_j\vert b\_i - a\_j \vert \leq \frac{P}{w\_j} 인 경우, 블랙홀 ii가 소행성 jj를 끌어와 빨아들인다. (1≤i≤N;(1 \le i \le N; 1≤j≤M)1 \le j \le M)

하나의 블랙홀이 여러 소행성을 빨아들이는 것도 가능하며, 서로 다른 여러 블랙홀이 하나의 소행성을 끌어들일 수 있을 땐 위치가 가장 왼쪽에 있는 블랙홀이 소행성을 빨아들인다.

시뮬레이션 우주에 있는 모든 소행성을 블랙홀이 빨아들이기 위해 필요한 정수 PP의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에 블랙홀의 수 NN과 소행성의 수 MM이 공백으로 구분되어 주어진다. (1≤N,M≤200,000)(1 \le N, M \le 200\\,000)

두 번째 줄에 NN개의 정수 b_1b\_1, b_2b\_2, ⋯\cdots, b_Nb\_N이 공백으로 구분되어 주어진다. (−1,000,000≤b_i≤1,000,000)(-1\\,000\\,000 \le b\_i \le 1\\,000\\,000)

세 번째 줄부터 MM개의 줄에 걸쳐 소행성의 정보가 주어진다. 그중 jj번째 줄에는 정수 a_ja\_j, w_jw\_j가 공백으로 구분되어 주어진다. (−1,000,000≤a_j≤1,000,000;(-1\\,000\\,000 \le a\_j \le 1\\,000\\,000; 1≤w_j≤100)1 \le w\_j \le 100)

한 위치에는 블랙홀만 하나 존재하거나 소행성만 하나 존재할 수 있다.

출력

모든 소행성을 블랙홀이 빨아들이기 위해 필요한 정수 PP의 최솟값을 출력한다.

힌트

∣x∣|x|는 xx의 절댓값을 의미하며, x≥0x \ge 0이면 ∣x∣=x\vert x \vert = x이고, x<0x < 0이면 ∣x∣=−x\vert x \vert = -x다.

예제1

  1. 예제 1

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