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

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

밸런스 빔

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

요약
각 위치에서 현금 수령과 동전 이동을 선택해서 양 끝에서 멈추는 무작위 이동의 기댓값을 시작 위치마다 최대화합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 수학, 확률, 구현
정답자
아직 제출이 없습니다

문제

소의 우리에 새 마구간을 지을 돈을 모으려고, 소 베시는 동네 서커스에서 공연을 시작했다. 높이 설치된 밸런스 빔 위에서 조심스럽게 왔다 갔다 하며 뛰어난 균형 감각을 보여 준다!

베시가 공연으로 버는 돈은 그녀가 최종적으로 빔에서 뛰어내리는 지점과 관련이 있다. 빔에는 왼쪽에서 오른쪽으로 0,1,…,N+10, 1, \ldots, N+1이라는 위치가 붙어 있다. 베시가 00이나 N+1N+1에 도달하면 빔의 한쪽 끝에서 떨어져서 안타깝게도 아무 돈도 받지 못한다.

베시가 어떤 위치 kk에 있을 때, 다음 두 가지 중 하나를 할 수 있다.

  1. 동전을 던진다. 뒷면이 나오면 위치 k−1k-1로, 앞면이 나오면 위치 k+1k+1로 간다(즉, 각각 12\frac{1}{2}의 확률).
  2. 빔에서 뛰어내리고 f(k)f(k) (0≤f(k)≤109)(0 \leq f(k) \leq 10^9)만큼의 돈을 받는다.

베시는 자신의 움직임이 무작위 동전 던지기에 따라 결정되므로 특정 지불 결과를 보장할 수 없다는 것을 알고 있다. 하지만 시작하는 위치를 기준으로, 최적의 결정 순서를 선택했을 때 기대 지불액이 얼마인지 알고 싶어 한다(여기서 "최적"이란 결정이 가능한 가장 높은 기대 지불액을 낳는다는 뜻이다). 예를 들어, 어떤 전략이 1010을 확률 1/21/2로, 88을 확률 1/41/4로, 00을 확률 1/41/4로 받는다면, 기대 지불액은 가중 평균 10(1/2)+8(1/4)+0(1/4)=710(1/2) + 8(1/4) + 0(1/4) = 7이다.

입력

첫째 줄에 NN (2≤N≤1052 \leq N \leq 10^5)이 주어진다. 나머지 NN개의 줄에는 f(1)…f(N)f(1) \ldots f(N)이 주어진다.

출력

NN개의 줄을 출력한다. ii번째 줄에는 베시가 위치 ii에서 시작해 최적으로 행동할 때의 기대 지불액에 10510^5을 곱한 값을 내림하여 정수로 출력한다.

예제1

  1. 예제 1

    입력
    2
    1
    3
    
    예상 출력
    150000
    300000