만드는 중입니다

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

지점 병합

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

요약
정렬된 영업 구역 N개가 주어질 때, s번째부터 e번째까지 지점을 하나로 합치는 데 필요한 최소 확장 비용 K를 질의마다 구합니다.
난이도

보통10점 중 6점

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

문제

Moloco는 KAIST 도시에 있는 광고 기술 회사이며, 이 도시는 1차원 직선으로 볼 수 있다. Moloco에는 NN개의 지점이 있고, ii번째 지점의 영업 구역은 구간 [li,ri][l_i, r_i]이다. 모든 ii에 대해 li<ril_i < r_i이고, 1≤i≤N−11 \leq i \leq N-1에 대해 ri≤li+1r_i \leq l_{i+1}이다.

두 지점의 영업 구역에 모두 포함되는 점이 있으면 두 지점은 교차한다. 예를 들어 [3,5][3, 5]와 [5,7][5, 7]은 교차하고, [1,4][1, 4]와 [2,5][2, 5]도 교차한다. 하지만 [1,2][1, 2]와 [3,5][3, 5]는 교차하지 않는다.

Moloco는 광고비를 써서 지점의 영업 구역을 넓힐 수 있다. Moloco가 KK원을 쓰면 모든 지점은 영업 구역을 최대 KK만큼 넓힐 수 있다. 넓어진 영업 구역의 시작점과 끝점은 정수여야 한다.

형식적으로, ii번째 지점의 새 영업 구역을 [li′,ri′][l_i', r_i']라고 하자. 다음 조건을 만족해야 한다.

  • li′≤lil_i' \leq l_i이고 ri≤ri′r_i \leq r_i'이다.
  • (li−li′)+(ri′−ri)≤K(l_i - l_i') + (r_i' - r_i) \leq K이다.
  • li′l_i'와 ri′r_i'는 모두 정수이다.

지점이 너무 많으면 회사 관리가 어려우므로, Moloco는 모든 지점을 하나로 합치려 한다. 두 지점은 교차하면 합칠 수 있다. 합쳐진 지점의 영업 구역은 두 지점 영업 구역의 합집합이다.

그림 1. K=4K=4일 때 첫 번째 예시 상황의 그림

당신은 Moloco에서 일하고 있다. Moloco가 ss번째부터 ee번째 지점만 가지고 있다고 가정한 상황을 살펴보려 한다. 각 질의마다, 그 지점들을 모두 하나로 합치는 데 드는 최소 비용을 구하라.

입력

첫 줄에 정수 NN과 QQ가 주어진다 (1≤N≤50001 \leq N \leq 5000, 1≤Q≤1061 \leq Q \leq 10^6).

다음 NN개의 줄에는 각각 정수 lil_i와 rir_i가 주어진다 (1≤li<ri≤1091 \leq l_i < r_i \leq 10^9). 이는 ii번째 지점의 영업 구역이다. 모든 1≤i≤N−11 \leq i \leq N-1에 대해 ri≤li+1r_i \leq l_{i+1}이다.

다음 QQ개의 줄에는 각각 정수 sis_i와 eie_i가 주어진다 (1≤si≤ei≤N1 \leq s_i \leq e_i \leq N). 이는 ii번째 질의이다.

출력

QQ개의 줄을 출력한다. ii번째 줄에는 ii번째 질의의 답, 즉 sis_i번째부터 eie_i번째 지점을 합치는 최소 비용을 출력한다.

힌트

지점이 하나뿐이면 비용이 들지 않는다.

예제2

  1. 예제 1

    입력
    5 2
    1 3
    5 6
    10 15
    20 24
    28 33
    1 5
    3 5
    
    예상 출력
    4
    3
    
  2. 예제 2

    입력
    7 7
    1 3
    6 10
    14 18
    18 19
    22 24
    28 29
    32 40
    1 7
    3 5
    2 6
    1 2
    4 4
    4 7
    3 4
    
    예상 출력
    3
    2
    3
    2
    0
    3
    0