소 떼 길들이기

N일 동안 기록한 카운터 값이 주어질 때, 첫날 탈출이 있었다고 가정하고 탈출 횟수별로 기록과 어긋나는 항목 수의 최솟값을 구한다.

보통6동적 계획법구현누적 합완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

이른 아침, 농부 존은 나무가 부서지는 소리에 잠에서 깼다. 소들이 또 헛간을 부수고 달아난 것이다.

아침마다 되풀이되는 탈출에 지친 존은 헛간 벽에 계수기를 박았다. 계수기는 마지막 탈출에서 며칠이 지났는지를 나타낸다. 그날 아침에 탈출이 일어나면 계수기는 00을 가리키고, 가장 최근 탈출이 33일 전이면 33을 가리킨다. 존은 하루도 빠짐없이 계수기 값을 적어 두었다.

한 해가 끝나고 존은 기록을 정리하려 한다. 그런데 기록이 어딘가 이상하다. 존은 소들이 기록을 건드렸다고 의심한다. 확실한 것은 기록을 시작한 날에 탈출이 일어났다는 사실 하나뿐이다.

기록을 시작한 뒤 일어난 탈출 횟수마다, 조작된 기록이 최소 몇 개인지 구하라.

입력

첫째 줄에 존이 기록한 날수 NN이 주어진다 (1N1001 \leq N \leq 100).

둘째 줄에 NN개의 정수가 공백으로 구분되어 주어진다. 소들이 ii일째 기록을 건드리지 않았다면, 그날 계수기는 aia_i (0ai1000 \leq a_i \leq 100)를 가리켰다.

출력

NN개의 줄을 출력한다. ii번째 줄에는 탈출이 정확히 ii번 일어난 모든 경우 가운데, 기록과 어긋나는 항목 수의 최솟값을 출력한다.

힌트

6일치 기록 1 1 2 0 0 1을 보자.

탈출이 한 번이면 올바른 기록은 0 1 2 3 4 5이고, 주어진 기록과 네 자리가 어긋난다. 두 번이면 올바른 기록이 0 1 2 3 0 1일 수 있어 어긋나는 자리는 두 개이고, 탈출은 1일과 5일에 일어났다. 세 번이면 0 1 2 0 0 1이 가능해 어긋나는 자리는 하나뿐이고, 탈출은 1일과 4일, 5일에 일어났다. 횟수가 더 늘어도 같은 방식으로 따진다.