만드는 중입니다

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

벽

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

요약
각 벽이 레이저 위치 P_j를 공격 순서대로 모두 덮도록 움직일 때, 벽마다 필요한 최소 이동 횟수를 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 그리디
정답자
아직 제출이 없습니다

문제

JOI 사가 발매한 TV 게임 소프트웨어를 손에 넣었다. 꽤 잘 만든 게임이라 매일 즐겁게 플레이하고 있었다.

어느 날 게이머들 사이에서 '레이저'라고 부르는 스테이지가 나타났다. 이 스테이지는 매우 어려워서 뛰어난 게이머도 아주 낮은 확률로만 클리어할 수 있다고 한다. 여러 번 도전하던 끝에, 매우 빠른 판단을 내리면 클리어할 가능성이 있다는 것을 깨달았고, 프로그램으로 대응할 수 있지 않을까 생각했다.

레이저 스테이지의 무대에는 N개의 벽이 놓여 있다. 무대는 직사각형이며 1×11 \times 1 크기의 정사각형 칸으로 나뉜다. 각 칸은 0 이상의 정수 x,yx, y를 써서 (x,y)(x, y)로 나타낸다. (0,0)(0, 0)은 왼쪽 아래 모서리 칸이고, (x,y)(x, y)는 (0,0)(0, 0)에서 오른쪽으로 xx칸, 위로 yy칸 이동한 칸이다.

스테이지가 시작되면 적이 나타나 공격한다. 공격은 M번 순서대로 이루어진다. jj번째 공격에서 적은 칸 (Pj,N+1)(P_j, N+1)에서 칸 (Pj,0)(P_j, 0)을 향해 레이저를 곧게 발사한다.

각 벽은 y좌표가 같은 연속된 칸들에 놓인다. 벽 ii (1≤i≤N1 \le i \le N)는 가로 길이가 Bi−Ai+1B_i - A_i + 1, 세로 길이가 1인 직사각형이다. 스테이지 시작 시 벽 ii는 칸 (Ai,i)(A_i, i)부터 칸 (Bi,i)(B_i, i)까지를 차지한다. 첫 공격 직전과 공격 사이에 벽을 좌우로 몇 번이고 움직일 수 있다. 한 번의 이동으로 벽 하나를 오른쪽으로 1칸 또는 왼쪽으로 1칸 옮길 수 있다.

레이저는 벽에 부딪히면 위력이 약해진다. 모든 레이저가 모든 벽에 부딪히도록 벽을 움직여 레이저의 위력을 최소로 만들고자 한다. 이때 벽의 이동 횟수도 가능한 한 적어야 한다.

각 벽의 시작 위치와 적의 공격 위치가 주어진다. 모든 레이저가 모든 벽에 부딪히도록 벽을 움직일 때, 각 벽의 이동 횟수 최솟값을 구하라.

입력

첫 줄에 정수 N과 M이 공백으로 구분되어 주어진다. 벽이 N개 있고, 적의 공격이 M번 이루어진다는 뜻이다.

이어지는 N줄의 i번째 줄 (1 ≤ i ≤ N)에는 정수 AiA_i와 BiB_i가 공백으로 구분되어 주어진다. 스테이지 시작 시 벽 i가 칸 (Ai,i)(A_i, i)부터 칸 (Bi,i)(B_i, i)까지에 놓여 있다는 뜻이다.

이어지는 M줄의 j번째 줄 (1 ≤ j ≤ M)에는 정수 PjP_j가 주어진다. j번째 공격에서 적이 칸 (Pj,N+1)(P_j, N+1)에서 칸 (Pj,0)(P_j, 0)을 향해 레이저를 쏜다는 뜻이다.

출력

N줄을 출력하라. i번째 줄에는 벽 i의 이동 횟수 최솟값을 출력한다.

제한

1≤N≤2000001 \le N \le 200000

1≤M≤2000001 \le M \le 200000

0≤Ai≤Bi≤10000000000 \le A_i \le B_i \le 1000000000 (1≤i≤N1 \le i \le N)

0≤Pj≤10000000000 \le P_j \le 1000000000 (1≤j≤M1 \le j \le M)

예제2

  1. 예제 1

    입력
    4 4
    0 3
    4 4
    2 7
    8 11
    6
    4
    3
    8
    
    예상 출력
    5
    10
    1
    7
    
  2. 예제 2

    입력
    7 11
    12 39
    22 23
    5 38
    6 47
    10 43
    0 50
    18 46
    38
    19
    15
    1
    12
    29
    29
    0
    6
    40
    6
    
    예상 출력
    34
    178
    13
    6
    18
    0
    36