만드는 중입니다

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

거리 개발

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

요약
거리 [0, L]에 놓인 로봇 n개가 모든 정보를 한 로봇에 모을 수 있는 최소 배터리 용량 P를 구합니다.
난이도

보통10점 중 6점

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

문제

ICPC 거리는 아직 개발되지 않은 구역이다. 곧 대규모 개발 계획이 시작될 예정이다. 개발을 시작하기 전에 원격 조종 로봇 nn대가 거리를 따라 놓인 중요 지점 nn곳에서 정보를 수집한다. 각 지점에는 로봇이 한 대씩 놓인다. 목표는 수집한 정보를 모두 한 로봇에 모아 가장 효율적인 개발 방법을 찾는 것이다.

거리는 양의 정수 LL에 대한 구간 [0,L][0, L]이다. 중요 지점 p1,p2,…,pnp_1, p_2, \dots, p_n은 양 끝점을 포함한 구간 위의 정수이다. 즉 p1=0p_1 = 0, pn=Lp_n = L이다. 처음에 각 로봇은 중요 지점 하나에 있으며, 그 지점의 정보를 이미 가지고 있다. 지점마다 로봇이 정확히 한 대이므로 nn은 로봇의 수이기도 하다. 2≤n≤L+12 \le n \le L + 1이다.

  1. 로봇은 왼쪽이나 오른쪽으로 자유롭게 움직일 수 있다. 이동한 거리 1마다 방향과 관계없이 배터리를 1 소모한다. 모든 로봇은 같은 배터리 용량인 정수 PP를 가지며, 정수 단위의 거리만 움직인다.
  2. 두 대 이상의 로봇이 정수 위치에서 만나면 서로의 정보를 합칠 수 있다. 예를 들어 p1p_1과 p2p_2의 정보를 가진 로봇이 p3p_3과 p4p_4의 정보를 가진 로봇과 만나면, 두 로봇 모두 p1p_1, p2p_2, p3p_3, p4p_4의 정보를 갖게 된다.
  3. 배터리는 이동에만 쓰인다. 방향을 바꾸거나 정보를 합칠 때는 배터리를 쓰지 않는다.
  4. 모든 이동이 끝난 뒤 적어도 한 로봇이 p1,p2,…,pnp_1, p_2, \dots, p_n의 정보를 모두 가져야 한다.

그림은 L=10L = 10, n=4n = 4인 예시이다. 로봇 R1, R2, R3, R4는 각각 p1=0p_1 = 0, p2=3p_2 = 3, p3=7p_3 = 7, p4=10p_4 = 10에서 출발한다. 배터리 용량이 P=3P = 3이면 다음 순서로 진행할 수 있다. 로봇 1이 p2p_2로 이동해 로봇 1과 2가 정보를 합친다. 로봇 4가 p3p_3으로 이동해 로봇 3과 4가 정보를 합친다. 로봇 2는 오른쪽으로 2만큼, 로봇 3은 왼쪽으로 2만큼 움직여 위치 5에서 정보를 합친다. 이후 로봇 2와 3은 네 지점의 정보를 모두 갖는다.

입력

첫 줄에 양의 정수 LL과 nn이 주어진다 (1≤L≤1061 \le L \le 10^6, 2≤n≤L+12 \le n \le L + 1). 둘째 줄에는 로봇의 초기 위치인 00부터 LL까지의 서로 다른 정수 nn개가 증가하는 순서로 주어진다. 첫 값은 00이고 마지막 값은 LL이다.

출력

한 줄에 정수 하나를 출력한다. 적어도 한 로봇이 모든 중요 지점의 정보를 가질 수 있는 최소 배터리 용량 PP이다.

예제3

  1. 예제 1

    입력
    10 4
    0 3 7 10
    
    예상 출력
    3
    
  2. 예제 2

    입력
    100 5
    0 97 98 99 100
    
    예상 출력
    49
    
  3. 예제 3

    입력
    1 2
    0 1
    
    예상 출력
    1