첫날 탈출이 있었던 상황에서, 탈출 후 경과 일수를 적은 로그의 빈칸을 채워 탈출 횟수의 최솟값과 최댓값을 구한다.
보통4그리디배열구현시뮬레이션면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB이른 아침, 농부 존은 나무가 부서지는 소리에 잠에서 깼다. 소들이 또 축사를 부수고 뛰쳐나간 것이다.
존은 아침마다 반복되는 탈출에 지칠 대로 지쳐서 이제는 강하게 나가기로 했다. 그는 마지막 탈출 이후 며칠이 지났는지 세는 계수기를 축사 벽에 못으로 박아 두었다. 어느 날 아침에 탈출이 일어나면 그날 계수기는 0이고, 가장 최근 탈출이 3일 전이면 계수기는 3을 가리킨다. 존은 매일 빠짐없이 계수기 값을 적어 두었다.
한 해가 끝나고 존은 결산을 시작했다. 소들에게 대가를 치르게 하겠다는 것이다. 그런데 기록 중 일부가 사라져 있었다.
존은 기록을 시작한 날 아침에 탈출이 있었다고 확신한다. 남아 있는 기록과 어긋나지 않는 모든 사건 순서를 통틀어, 기록된 기간에 일어났을 수 있는 탈출 횟수의 최솟값과 최댓값을 구하라.
첫째 줄에 존이 계수기를 기록한 날수 N (1≤N≤100)이 주어진다.
둘째 줄에 N개의 정수가 공백으로 구분되어 주어진다. i번째 정수는 −1이거나 100 이하의 음이 아닌 정수 ai이다. −1은 i일 차 기록이 사라졌다는 뜻이고, 그 밖의 값은 i일 차 계수기가 ai였다는 뜻이다.
남아 있는 기록과 1일 차 아침에 소들이 탈출했다는 사실을 모두 만족하는 사건 순서가 없으면 정수 −1 하나를 출력한다. 그렇지 않으면 두 정수 m과 M을 공백으로 구분해 출력한다. m은 조건을 만족하는 사건 순서 전체에서 탈출 횟수의 최솟값이고, M은 최댓값이다.
예제에서는 4일 차 계수기가 1이므로 3일 차에 탈출이 있었음을 알 수 있다. 1일 차에도 탈출이 있었으니 남은 불확실성은 2일 차뿐이고, 따라서 탈출 횟수는 2 이상 3 이하이다.