아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

계산 어류학

면접 대비

시간 제한2초메모리 제한1024 MB

요약
일렬로 놓인 수조마다 개체 수에 따라 정해진 시각에 물고기가 태어난다. 이고르는 1번 수조에서 시작해 초당 한 칸씩 움직이며 모든 출생을 지켜봐야 할 때, 처음으로 놓치는 출생의 시각을 구한다.
난이도

어려움10점 중 8점

유형
그리디, 시뮬레이션, 수학, 구현
정답자
아직 제출이 없습니다

문제

이고르는 어류학 연구소에서 일하는 하급 연구원이다. 그에게는 일렬로 놓인 nn개의 수조가 맡겨져 있고, 각 수조에는 구피 군집이 살고 있다. 각 군집의 개체수는 미리 알려져 있다.

어류학 연구소의 실험 환경에서 구피 군집은 다음 규칙에 따라 성장한다. 군집이 ff마리에 도달하면 그 군집은 max⁡(1000−f,1)\max(1000 - f, 1)초 동안 유지되고, 그 후에 새로운 물고기가 태어난다. 시작 시점에서 첫 물고기가 태어날 때까지도 마찬가지로 크기 ff인 군집은 max⁡(1000−f,1)\max(1000 - f, 1)초를 기다린다.

예를 들어, 초기 크기가 996인 군집은 다음과 같이 번식한다:

시각군집 크기다음 물고기까지 남은 시간
09964
49973
79982
99991
1010001
1110011
1210021
.........

새 물고기가 태어날 때마다 이고르는 특수 일지에 기록해야 한다. 기록은 즉시 이루어지지만, 이고르는 물고기가 태어나는 순간 그 일이 일어난 수조 옆에 있어야 한다.

이고르가 한 수조에서 이웃 수조로 이동하는 데 1초가 걸린다. 시작 시점에서 이고르는 첫 번째 수조 옆에 서 있다.

이고르가 자신의 업무를 성실히 수행할 수 있는 가장 긴 기간을 계산하시오.

입력

첫 번째 줄에는 정수 nn (2≤n≤502 \le n \le 50)이 주어진다. 이는 어류학 연구소에 있는 구피 수조의 수이다. 다음 nn개의 줄 각각에는 하나의 정수 aia_i (1≤ai≤20071 \le a_i \le 2007)가 주어지며, 이는 ii번째 군집의 개체수이다.

출력

이고르가 기록할 수 없는 첫 번째 구피가 태어나는 시각을 출력하시오.

힌트

예시에서 이고르는 먼저 첫 번째 수조 옆에서 4초에 물고기가 태어나기를 기다린다. 그 후 세 번째 수조로 달려가고(2초가 걸린다), 6초에 물고기가 태어나는 순간에 맞춰 도착한다. 그러나 첫 번째 수조로 돌아가면 다음 물고기가 7초에 태어나는데, 그때까지 돌아가지 못한다.

예제1

  1. 예제 1

    입력
    3
    996
    1
    994
    
    예상 출력
    7