만드는 중입니다

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

전투를 위한 적극적인 준비

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

요약
사람 n명마다 힘 p와 경보 비용 c가 주어집니다. 각 질의 x에 대해 힘이 x 이상이 되도록 사람을 먹을 때의 최소 경보 수준을 구합니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 분할 정복, 그리디
정답자
아직 제출이 없습니다

문제

카니지는 베놈과 싸우고 싶어 하지만, 그 전에 힘을 길러야 한다. 특정 사람을 잡아먹으면 심비오트의 능력에 좋은 영향을 준다는 사실을 알았고, 사람이 강하고 능력이 있을수록 잡아먹었을 때 얻는 이득도 크다. 하지만 사람은 저항하기 마련이어서, 충분히 날랜 사람은 죽기 전에 소리를 질러 경찰과 형사 패트릭 멀리건의 주의를 끌 수 있다.

현재 카니지의 힘 PP는 1이고, 경찰은 아무것도 의심하지 않아서 경계 수준 CC는 0이다. 카니지가 노릴 수 있는 사람은 nn명이며, ii번째 사람은 (pi,ci)(p_i, c_i) 쌍으로 나타낸다. ii번째 사람을 잡아먹으려고 하면 다음 두 가지 중 하나가 일어난다.

  • P≥piP \geq p_i이면 카니지는 소리 없이 처리할 수 있고, 힘이 pip_i만큼 늘어나며 경찰의 경계 수준은 오르지 않는다.
  • 그렇지 않으면 사람은 그래도 잡아먹히고(힘은 pip_i만큼 늘어난다), 경찰의 경계 수준이 cic_i만큼 오른다.

한 번에 한 명만 사냥할 수 있고, 각 사람은 최대 한 번만 잡아먹을 수 있다. 사냥 순서는 카니지가 정한다.

카니지는 베놈의 힘에 대해 qq가지 가정을 세운다. ii번째 가정은 베놈의 힘이 xix_i일 수 있다는 것이다. 각 가정에 대해, 카니지의 힘이 P≥xiP \geq x_i가 되도록 힘을 모을 때 나올 수 있는 경계 수준의 최솟값을 구하라. 그런 힘을 모을 수 없으면 −1-1을 출력한다.

입력

첫 줄에 정수 nn과 qq가 주어진다. nn은 잡아먹을 수 있는 잠재적 희생자의 수, qq는 베놈의 힘에 대한 카니지의 가정 수다(1≤n≤1051 \leq n \leq 10^5; 1≤q≤1061 \leq q \leq 10^6).

다음 nn개 줄에는 사람들에 대한 설명이 주어진다. ii번째 줄에는 공백으로 구분된 두 정수 pip_i와 cic_i가 있으며, 각각 ii번째 사람의 힘 수준과 그를 사냥할 때 경찰의 주의가 늘어나는 잠재적 증가량이다(1≤pi≤1091 \leq p_i \leq 10^9; 1≤ci≤1091 \leq c_i \leq 10^9).

다음 줄에는 공백으로 구분된 qq개의 정수 x1,x2,…,xqx_1, x_2, \ldots, x_q가 있다. xix_i는 카니지의 ii번째 가정에서 베놈의 힘을 나타낸다(1≤xi≤1091 \leq x_i \leq 10^9). 카니지의 기억력은 가끔 믿을 수 없어서, 같은 값이 여러 번 나올 수 있다.

출력

공백으로 구분하여 qq개의 수를 출력하라. ii번째 수는 ii번째 가정에 대한 답이다. 힘을 xix_i 이상으로 모을 수 없으면 답은 −1-1이고, 그렇지 않으면 그 힘을 모은 뒤 경찰 경계 수준의 최솟값이다.

예제2

  1. 예제 1

    입력
    6 5
    8 10
    10 10
    4 4
    2 3
    8 8
    8 5
    3 7 32 36 36
    
    예상 출력
    3 4 5 5 5
    
  2. 예제 2

    입력
    9 10
    9 8
    3 1
    2 1
    8 9
    3 1
    5 2
    3 1
    4 1
    10 10
    75 53 82 22 6 27 21 86 14 35
    
    예상 출력
    -1 -1 -1 1 1 1 1 -1 1 1