만드는 중입니다

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

구간 겹치기

면접 대비

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

요약
길이가 비용인 구간 n개가 주어집니다. 각 질의 [a, b]를 덮는 최소 비용을 구하고, 덮을 수 없으면 -1을 출력합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 구간, 정렬
정답자
아직 제출이 없습니다

문제

nn개의 구간이 주어진다. 구간은 두 정수 ss, ee로 표현하며, 수직선 위의 [s,e][s, e] 전체를 덮는다는 뜻이다.

qq개의 쿼리가 주어진다. 쿼리는 두 정수 aa, bb로 표현한다. 각 쿼리에 대해, [a,b][a, b] 전체를 덮을 수 있도록 구간을 하나 이상 골랐을 때의 최소 비용을 구하라.

비용은 고른 구간들의 길이의 합이다. 구간의 길이는 그 구간이 덮는 정수의 개수다.

입력

첫째 줄에 구간의 개수 nn(1≤n≤1001 \le n \le 100)과 쿼리의 개수 qq(1≤q≤111,2221 \le q \le 111,222)가 공백으로 구분되어 주어진다.

다음 nn개의 줄에 구간의 정보 ss, ee가 한 줄에 하나씩 주어진다. (−109≤s<e≤109-10^9 \le s < e \le 10^9)

다음 qq개의 줄에 쿼리의 정보 aa, bb가 한 줄에 하나씩 주어진다. (−109≤a<b≤109-10^9 \le a < b \le 10^9)

출력

각 쿼리의 정답을 입력 순서대로 한 줄에 하나씩 출력한다. 불가능하면 -1을 출력한다.

힌트

빠른 입출력을 사용하자.

예제1

  1. 예제 1

    입력
    3 3
    1 3
    3 10
    4 8
    1 7
    5 11
    2 3
    
    예상 출력
    11
    -1
    3