만드는 중입니다

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

위젯 중개상의 최대 수익

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

요약
q>p이고 e>d인 생산자와 소비자 쌍 중에서 (q-p)(e-d)를 최대로 만드는 쌍을 골라 최대 이익을 출력한다. 각각 최대 500000개다.
난이도

어려움10점 중 8점

유형
분할 정복, 기하, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

당신은 위젯 시장의 중개상이다. 생산 회사에서 위젯을 사서 소비 회사에 판다.

생산 회사 ii는 위젯 한 개를 pip_i달러에 팔고, 첫 위젯은 did_i일에 나온다. 하루에 한 개씩 공급한다. 소비 회사 jj는 위젯 한 개를 qjq_j달러에 사고, 마지막으로 받는 위젯은 ej−1e_j - 1일에 배송된 것이다. 이쪽도 하루에 한 개씩 받는다.

공정거래법 때문에 생산 회사 한 곳, 소비 회사 한 곳하고만 계약을 맺을 수 있다. 계약을 맺으면 did_i일부터 ej−1e_j - 1일까지 매일 위젯을 한 개 사서 그날 바로 넘기므로, 그 ej−die_j - d_i일 동안 하루에 qj−piq_j - p_i달러를 번다.

qj>piq_j > p_i이고 ej>die_j > d_i이면 이 조합으로 (qj−pi)(ej−di)(q_j - p_i)(e_j - d_i)달러를 번다. 그렇지 않으면 배송되는 위젯이 하나도 없거나 팔 때마다 손해를 보므로 버는 돈이 없다. 가장 많이 버는 조합을 고른다.

입력

첫째 줄에 생산 회사의 수 mm과 소비 회사의 수 nn이 주어진다 (1≤m,n≤5000001 \le m, n \le 500000).

다음 mm개 줄에는 각각 두 정수 pip_i와 did_i가 주어진다 (1≤pi,di≤1091 \le p_i, d_i \le 10^9). pip_i는 생산 회사 ii가 위젯 한 개를 파는 가격이고, did_i는 첫 위젯이 나오는 날이다.

이어지는 nn개 줄에는 각각 두 정수 qjq_j와 eje_j가 주어진다 (1≤qj,ej≤1091 \le q_j, e_j \le 10^9). qjq_j는 소비 회사 jj가 위젯 한 개를 사는 가격이고, eje_j는 마지막 위젯을 받아야 하는 날의 바로 다음 날이다.

출력

벌 수 있는 최대 금액을 달러 단위 정수 하나로 출력한다. 어떤 조합으로도 양의 이익을 낼 수 없으면 0을 출력한다.

예제2

  1. 예제 1

    입력
    2 2
    1 3
    2 1
    3 5
    7 2
    
    예상 출력
    5
    
  2. 예제 2

    입력
    1 2
    10 10
    9 11
    11 9
    
    예상 출력
    0