페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#7056
서브태스크

교재 출력 1s 1024MB

문제

학원에 있는 C 언어 교재들은 많은 아이들이 돌려 쓰고 있다.

따라서 몇 년이 지난 후 교재들은 상당히 훼손되고 말았다.

원래 한 교재는 총 N 페이지였고, ( 1 페이지 ~ N 페이지 ) 까지 있었다.

그 중 M 개의 페이지들만이 찢기지 않고 남아 있는 것이다. 같은 번호의 페이지가 여러 개 남아 있을 수 있다.

우리는 찢겨나간 페이지들을 다시 인쇄해서, 1 ~ N 페이지들을 적어도 한 장씩은 확보하려고 한다.

페이지를 연속해서 P 장 인쇄하면, 그 비용은 ( 7 + 3 * P ) 원이다.

예를 들어, 11 ~ 15 페이지까지 5장을 연속해서 인쇄하면 7 + 3 * 5 = 22 원이 필요하다.

우리는 찢겨나간 페이지들을 복구할 최소 인쇄 비용을 출력하려고 한다.

비용을 아끼기 위해서라면, 찢겨 나가지 않은 페이지를 또 인쇄해도 된다.

이 때, 최소 비용을 출력하자.


입력

첫 줄에 N, M 이 입력된다. ( 1 ≤ N, M ≤ 100 )

두 번째 줄에, 남아있는 페이지 번호들을 의미하는 M 개의 정수들이 입력된다. ( 1 ≤ 페이지 번호 ≤ N , 같은 페이지 번호가 여러 번 등장할 수 있음 )


출력

1페이지 ~ N페이지들을 적어도 한 장씩은 확보할 최소 인쇄 비용을 출력하자.


부분문제

번호 점수 조건
#120점

M = 1

#280점

1 \leq N,M \leq 100


예제

11 12
10 3 7 2 3 8 6 2 7 8 10 3
38

찢겨 나간 페이지 번호는 1, 4, 5, 9, 11 이다.

[ 1 ] [ 4 ~ 5 ] [ 9 ] [ 11 ] 이렇게 인쇄하면 총 비용은 10 + 13 + 10 + 10 = 43 원이지만,

[ 1 ~ 5 ] [ 9 ~ 11 ] 이렇게 인쇄하면 총 비용은 22 + 16 = 38 원이다.

38원보다 싸게 인쇄할 수는 없다.


출처

아니메컵 2쿨 B
로그인해야 코드를 작성할 수 있어요.