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

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

게임

시간 제한1초메모리 제한256 MB

요약
로봇이 배열의 임의 위치에서 시작해 A_i를 얻고 멈추거나 좌우로 공정하게 한 칸 이동할 수 있을 때 기대 점수의 최댓값을 998244353으로 나눈 값으로 출력한다.
난이도

어려움10점 중 8점

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

문제

당신은 지금 간단한 게임을 하고 있다. 길이 nn인 배열 AA가 주어질 때, 로봇이 이 배열 안에서 움직이거나 멈추도록 조종해야 한다.

처음에 로봇의 위치는 무작위로 정해진다. 위치 i∈[1,n]i \in [1, n]가 선택될 확률은 1n\frac{1}{n}이다. 각 턴마다 현재 위치를 알고 있으며, 두 가지 행동 중 하나를 결정해야 한다.

  • 멈춘다. 이 행동을 선택하면 게임이 즉시 끝난다. 로봇이 위치 ii에서 멈추면 점수는 AiA_i이다.
  • 움직인다. 이 행동을 선택했고 로봇이 위치 ii에 있다면, 50%50\% 확률로 i−1i - 1로 이동하고 나머지 50%50\% 확률로 i+1i + 1로 이동한다. 로봇이 위치 11 또는 nn에 있을 때는 이 행동을 선택할 수 없다.

두 번째 행동은 로봇이 배열의 양 끝에 있지 않을 때만 선택할 수 있으므로, 어떤 전략을 쓰더라도 lim⁡m→+∞f(m)=0\lim\limits_{m \rightarrow +\infty} f(m) = 0임을 증명할 수 있다. 여기서 f(m)f(m)은 mm턴이 지난 뒤에도 게임이 계속될 확률이다.

당신의 목표는 게임의 기대 점수를 최대로 만드는 것이다.

입력

첫 번째 줄에 정수 nn이 주어진다 (1≤n≤5⋅1051 \le n \le 5 \cdot 10^5).

두 번째 줄에 nn개의 정수 A1,A2,…,AnA_1, A_2, \ldots, A_n이 주어진다 (1≤Ai≤10121 \le A_i \le 10^{12}).

출력

가능한 최대 기대 점수를 998 244 353998\,244\,353으로 나눈 나머지를 한 줄에 출력한다. 다시 말해, 답이 998 244 353998\,244\,353과 서로소인 QQ에 대해 유리수 P/QP / Q로 표현된다고 할 때, (P⋅Q−1) mod 998 244 353(P \cdot Q^{-1}) \bmod 998\,244\,353을 출력해야 한다.

예제2

  1. 예제 1

    입력
    3
    3 1 2
    
    예상 출력
    499122179
    
  2. 예제 2

    입력
    6
    6 1 2 5 3 4
    
    예상 출력
    582309211