프로그램 명: koi4u_print
제한시간: 1 초

N개의 단어들이 있다. 이들 단어의 길이만 사용하므로 구체적으로 단어가 어떤 단어인지는 중요하지 않다. 이 단어들을 주어진 순서대로 k개의 줄에 출력하려고 한다. k < N 일 수 있으므로 한 줄에는 여러 개의 단어들이 들어갈 수 있다. 한 줄에 여러 개의 단어들이 들어간 경우 그 줄의 길이는 단어들의 길이의 합에 단어들을 구분하기 위해 추가한 빈칸의 개수가 될 것이다. 즉, 길이가 3, 4, 5인 단어들을 하나의 줄에 출력한다면 그 줄의 길이는 3+1+4+1+5 = 14이다.

하나의 가능한 출력 방법에 대해서 각 줄들의 길이가 비슷하면 좋은 출력으로 생각한다. 비슷한 정도의 구체적인 척도는 하나의 출력에 대해서 인접한 줄들의 길이의 차를 모두 구해서 더한 값을 최소화 하는 것이다. 이 척도를 출력의 ‘맞춤 값’이라고 부르자. 각 줄의 최대 길이 제한 M이 입력으로 주어진다.

주어진 입력에 대해 가능한 가장 작은 ‘맞춤 값’을 출력하는 프로그램을 작성하라.

입력

첫 줄에 한 줄의 최대 길이를 나타내는 자연수 M과 단어의 개수를 나타내는 자연수 N이 주어진다. (M ≤ 1,000,000, 2 ≤ N ≤ 2,000) 다음 줄에는 각 단어의 길이를 나타내는 자연수 N개가 주어진다. 각 단어의 길이는 M을 넘지 않는다.

출력

최소의 ‘맞춤 값’을 출력한다.

입출력 예

입력

6 4
4 3 2 5
 
출력 
 
3

채점

데이터 중 50%는 N ≤ 500
출처:koi4u 2011 2 차모의고사 2 번

[질/답] [제출 현황] [푼 후(1)]
[ 채 점 ] [홈으로]  [뒤 로]