포럼
문제 USACO0348

평균대

설명

헛간에 새 축사를 마련할 돈을 모으기 위해, 소 베시는 지역 서커스에서 공연을 시작했다. 베시는 높이 설치된 평균대 위를 조심스럽게 왔다 갔다 걸으며 자신의 놀라운 균형 감각을 선보인다!

베시가 공연에서 버는 돈은 최종적으로 평균대에서 뛰어내리는 위치와 관련이 있다. 평균대에는 왼쪽부터 오른쪽으로 \(0, 1, \ldots, N+1\)의 위치 번호가 붙어 있다. 베시가 \(0\)이나 \(N+1\)에 도달하면 평균대의 한쪽 끝에서 떨어져 안타깝게도 아무 보수도 받지 못한다.

베시가 어떤 위치 \(k\)에 있을 때, 다음 중 하나를 할 수 있다.

  1. 동전을 던진다. 뒷면이 나오면 위치 \(k-1\)로, 앞면이 나오면 위치 \(k + 1\)로 이동한다 (즉, 각 경우가 일어날 확률은 \(\frac{1}{2}\)이다).

  2. 평균대에서 뛰어내리고 보수 \(f(k)\) \((0 \leq f(k) \leq 10^9)\)를 받는다.

베시는 자신의 이동이 무작위 동전 던지기에 좌우되기 때문에 특정한 보수 결과를 보장할 수 없다는 것을 알고 있다. 하지만 시작 위치에 따라, 최적의 결정 순서를 따를 때 ("최적"이란 기대 보수를 최대로 만드는 결정을 뜻한다) 기대 보수가 얼마가 될지 알고 싶어한다. 예를 들어 그녀의 전략이 확률 \(1/2\)\(10\), 확률 \(1/4\)\(8\), 확률 \(1/4\)\(0\)의 보수를 얻는다면, 기대 보수는 가중 평균인 \(10(1/2) + 8(1/4) + 0(1/4) = 7\)이 된다.

출제자: Franklyn Wang and Spencer Compton

제약

출제자: Franklyn Wang and Spencer Compton

입력 형식

입력의 첫째 줄에 \(N\) (\(2 \leq N \leq 10^5\))이 주어진다. 나머지 \(N\)개의 줄에 \(f(1) \ldots f(N)\)이 주어진다.

출력 형식

\(N\)개의 줄을 출력한다. \(i\)번째 줄에는 베시가 위치 \(i\)에서 시작하여 최적으로 행동할 때의 기대 보수에 \(10^5\)를 곱한 값을 소수점 아래를 버림하여 정수로 출력한다.

Standard input / output
This problem is judged over standard input/output. The original contest used named files — if you prefer the classic interface, tick “File I/O” on the submit form and read/write these files instead:
입력을 읽을 파일 balance.in · 출력을 쓸 파일 balance.out
예제 1
입력
2
1
3
출력
150000
300000
문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2018-2019 > December > Platinum

태그

평가 및 의견

Balance Beam

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Balance Beam

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
파일 입출력 (balance.in / balance.out — classic USACO interface; off = stdin/stdout)
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8