만드는 중입니다

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

벽과 바람

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

요약
각 날마다 벽들을 최적으로 배치했을 때 어떤 벽도 무너지지 않는 최대 바람 세기를 기약분수로 구합니다.
난이도

어려움10점 중 8점

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

문제

nn개의 벽이 있다. ii번째 벽의 높이는 hih_i이고 강도는 sis_i이다. 이 벽들을 왼쪽에서 오른쪽으로 일렬로 세운다.

앞으로 qq일 동안 매일 밤 바람이 분다. 일기예보가 부정확하여 매일 밤 부는 바람의 세기는 미리 알 수 없다.

kk번째 날 아침, 보안센터가 가장 왼쪽에 무한히 강한 벽을 높이 hk′h'_k로 세운다. 그다음 가지고 있는 nn개의 벽을 원하는 순서로 이 벽 오른쪽에 배치할 수 있다. 그날 세운 벽은 그날에만 존재한다. 다음 날 새 벽을 세우기 전에 이 벽은 철거된다.

저녁이 되면 가장 왼쪽에서 세기 vv의 바람이 분다. 왼쪽에서 ii번째 벽은 다음 충격을 받는다.

Δi=v⋅max⁡(0,hi−max⁡0≤j<ihj)\Delta_i = v \cdot \max(0, h_i - \max_{0 \le j < i} h_j)

여기서 벽 00은 보안센터가 세운 벽이며, kk번째 날의 높이는 hk′h'_k, 강도는 무한대이다. 어떤 ii에 대해 Δi>si\Delta_i > s_i이면 ii번째 벽이 무너지고 큰 경제적 손실이 발생한다.

각 날에 대해, 벽을 최적으로 배치했을 때 무너지지 않고 버틸 수 있는 바람 세기의 최댓값을 구하라.

입력

첫 줄에 정수 nn과 qq가 주어진다 (1≤n,q≤5⋅1051 \le n,q \le 5 \cdot 10^5).

다음 nn개의 줄에는 각각 정수 hih_i와 sis_i가 주어진다 (1≤hi≤4⋅1061 \le h_i \le 4 \cdot 10^6, 1≤si≤1091 \le s_i \le 10^9).

다음 qq개의 줄에는 각각 정수 hk′h'_k가 주어진다 (1≤hk′≤4⋅1061 \le h'_k \le 4 \cdot 10^6).

출력

qq개의 줄을 출력한다. 각 줄에는 기약분수 a/ba/b를 공백 없이 출력한다. 어떤 세기의 바람도 버틸 수 있으면 1/0을 출력한다.

예제2

  1. 예제 1

    입력
    4 5
    3 5
    4 3
    2 5
    6 3
    5
    2
    3
    7
    2
    
    예상 출력
    3/1
    3/2
    3/2
    1/0
    3/2
    
  2. 예제 2

    입력
    5 6
    10 6
    3 7
    6 15
    7 6
    8 15
    5
    3
    9
    7
    7
    9
    
    예상 출력
    3/1
    3/1
    6/1
    3/1
    3/1
    6/1