죄수들에게 뇌물을


답안 제출

Points: 15
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

감옥에는 \(1\)번부터 \(P\)번까지 번호가 붙은 독방이 일렬로 놓여 있다. 처음에는 모든 독방에 죄수가 한 명씩 있다.

교도소장은 이들 가운데 미리 정해진 \(Q\)명의 죄수를 석방해야 한다. 하루에 죄수 한 명을 석방하며, 석방하는 순서는 자유롭게 정할 수 있다.

어떤 독방의 죄수를 석방하면 소란이 발생한다. 석방된 독방을 기준으로 왼쪽과 오른쪽을 각각 살펴보았을 때, 이미 비어 있는 독방을 만나기 전까지의 모든 죄수가 이 소란을 듣는다. 해당 방향에 비어 있는 독방이 없다면 감옥의 끝까지 있는 모든 죄수가 소란을 듣는다.

소란을 들은 죄수 한 명을 그날 조용히 있게 하려면 금화 한 개를 주어야 한다. 금화를 받은 효과는 그날에만 유효하며, 석방되는 죄수 자신에게는 금화를 줄 필요가 없다.

모든 대상 죄수를 석방하는 데 필요한 금화 개수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 독방의 수 \(P\)와 석방할 죄수의 수 \(Q\)가 공백을 사이에 두고 주어진다.

둘째 줄에 석방할 죄수들이 갇힌 독방의 번호 \(A_1, A_2, \dots, A_Q\)가 공백을 사이에 두고 오름차순으로 주어진다.

출력

모든 대상 죄수를 석방하는 데 필요한 금화 개수의 최솟값을 출력한다.

제한 사항

  • \(1 \le P \le 10,000\)
  • \(1 \le Q \le \min(P, 100)\)
  • \(1 \le A_1 < A_2 < \dots < A_Q \le P\)

예제 입력 1

8 1
3

예제 출력 1

7

예제 설명 1

처음에는 3번 독방을 제외한 나머지 7개의 독방에 있는 죄수 모두가 소란을 듣는다. 따라서 금화 7개가 필요하다.

예제 입력 2

20 3
3 6 14

예제 출력 2

35

예제 설명 2

14번, 6번, 3번 독방의 죄수 순서로 석방하면 각각 금화 19개, 12개, 4개가 필요하다. 따라서 총 35개의 금화가 필요하다.


코멘트

현재 작성된 코멘트가 없습니다.