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

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

스프링보드

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

요약
오른쪽이나 위로만 이동하는 Bessie가 (x1,y1)에서 (x2,y2)로 순간이동하는 발판들을 이용해 (0,0)에서 (N,N)까지 걸어야 하는 최소 거리를 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 정렬, 이분 탐색, 조합론
정답자
아직 제출이 없습니다

문제

Bessie는 2차원 격자 위에 있으며, 이동은 좌표축에 평행한 방향으로만 가능하다. Bessie는 (0,0)(0,0)에서 출발해 (N,N)(N,N)에 도달하려 한다 (1≤N≤1091\le N\le 10^9). 이를 돕기 위해 격자 위에 PP개의 스프링보드가 있다 (1≤P≤1051\le P\le 10^5). 각 스프링보드는 고정된 점 (x1,y1)(x_1,y_1)에 있고, Bessie가 이를 사용하면 (x2,y2)(x_2,y_2)에 착지한다.

Bessie는 앞으로 나아가기만 하는 소이므로, 위로 또는 오른쪽으로만 걷고 왼쪽이나 아래로는 걷지 않는다. 마찬가지로 각 스프링보드도 왼쪽이나 아래로 이동하지 않도록 설정되어 있다. Bessie가 걸어야 하는 최소 거리는 얼마인가?

입력

첫째 줄에 두 정수 NN과 PP가 공백으로 구분되어 주어진다.

다음 PP개의 줄 각각에 네 정수 x1x_1, y1y_1, x2x_2, y2y_2가 주어진다. 여기서 x1≤x2x_1 \le x_2이고 y1≤y2y_1 \le y_2이다.

모든 스프링보드와 목표 지점의 위치는 서로 다르다.

출력

Bessie가 (N,N)(N,N)에 도달하기 위해 걸어야 하는 최소 거리를 정수 하나로 출력한다.

힌트

Bessie의 최선 경로는 다음과 같다.

  • Bessie가 (0,0)에서 (0,1)까지 걷는다 (1 단위).
  • Bessie가 (0,2)로 스프링한다.
  • Bessie가 (0,2)에서 (1,2)까지 걷는다 (1 단위).
  • Bessie가 (2,3)으로 스프링한다.
  • Bessie가 (2,3)에서 (3,3)까지 걷는다 (1 단위).

Bessie 경로의 총 걷기 길이는 3 단위이다.

예제1

  1. 예제 1

    입력
    3 2
    0 1 0 2
    1 2 2 3
    
    예상 출력
    3