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

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

음료수는 사드세요 제발

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

요약
각 질의마다 맛이 t 이상인 액체만 써서 예산 g 안에서 부피 L 이상을 채울 수 있는 최대 t를 구하고, 불가능하면 -1을 출력한다.
난이도

어려움10점 중 8점

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

문제

재현이는 여러 액체를 섞어 음료수를 만드는 취미가 생겼다.

마트에서는 0,1,…,n−10, 1, \ldots, n - 1 의 번호가 붙어 있는 nn 개의 액체를 판다. ii 번 액체는 맛이 did_i이고, 가격이 1리터당 pip_i 이다. 재현이가 만드는 음료수 한 병에는 ii 번 액체를 lil_i 리터 이하로만 사용해야 한다. (이 수칙을 어기면 건강이 매우 위험해질 수도 있다.)

재현이의 음료를 마시면 건강과 문제 풀이 실력을 맞바꿀 수 있다는 기괴한 소문이 돌면서, mm 명의 사람이 음료수 한 병을 마시기 위해 재현이의 집을 찾아왔다. 이 중 jj 번 사람은, 음료수 한 병을 만드는 데 든 액체의 가격이 gjg_j 이하이며, 양이 LjL_j 리터 이상이기를 원한다. 이 조건 하에서, jj 번 사람은 음료수의 맛을 최대화하고 싶다. 이 때, 음료수의 맛은, 음료수를 이루는 액체들의 맛 중 최솟값이다.

각 사람에 대해서, 이 사람이 마시게 될 음료수의 맛을 출력하라. 만약 음료수를 대접할 수 없다면, -1을 출력하라.

입력

첫 번째 줄에 두 정수 n,mn, m (1≤n,m≤100 0001 \le n, m \le 100\,000) 이 주어진다.

이후 nn 개의 줄에 세 정수 di,pi,lid_i, p_i, l_i 가 주어진다. (1≤di,pi,li≤1051 \le d_i, p_i, l_i \le 10^5)

이후 mm 개의 줄에 두 정수 gi,Lig_i, L_i 가 주어진다. (1≤gi,Li≤10181 \le g_i, L_i \le 10^{18})

출력

mm 개의 줄에 정답을 출력하라. ii 번째 줄에는 ii 번 사람이 마시게 될 음료수의 맛을 출력하라. 만약 음료수를 대접할 수 없다면, -1을 출력하라.

예제2

  1. 예제 1

    입력
    3 4
    1 3 5
    2 1 3
    3 2 5
    6 3
    5 3
    10 10
    20 10
    
    예상 출력
    3
    2
    -1
    1
    
  2. 예제 2

    입력
    10 10
    71203 70943 96030
    2907 3366 43446
    59057 58730 29943
    20030 19971 5151
    54659 54133 16206
    61347 60820 58102
    73802 73343 32955
    49325 49519 51020
    53790 53260 12493
    60357 60341 33443
    1039324449 4656
    396371768 1370
    1385376577 1519
    1468730283 4687
    1728094263 8256
    124371528 7039
    1505613387 3776
    1556326425 4864
    1231069280 3853
    305372610 8028
    
    예상 출력
    73802
    73802
    73802
    73802
    73802
    2907
    73802
    73802
    73802
    20030