게임
시간 제한1초메모리 제한256 MB
로봇이 배열의 임의 위치에서 시작해 A_i를 얻고 멈추거나 좌우로 공정하게 한 칸 이동할 수 있을 때 기대 점수의 최댓값을 998244353으로 나눈 값으로 출력한다.
문제
당신은 지금 간단한 게임을 하고 있다. 길이 인 배열 가 주어질 때, 로봇이 이 배열 안에서 움직이거나 멈추도록 조종해야 한다.
처음에 로봇의 위치는 무작위로 정해진다. 위치 가 선택될 확률은 이다. 각 턴마다 현재 위치를 알고 있으며, 두 가지 행동 중 하나를 결정해야 한다.
- 멈춘다. 이 행동을 선택하면 게임이 즉시 끝난다. 로봇이 위치 에서 멈추면 점수는 이다.
- 움직인다. 이 행동을 선택했고 로봇이 위치 에 있다면, 확률로 로 이동하고 나머지 확률로 로 이동한다. 로봇이 위치 또는 에 있을 때는 이 행동을 선택할 수 없다.
두 번째 행동은 로봇이 배열의 양 끝에 있지 않을 때만 선택할 수 있으므로, 어떤 전략을 쓰더라도 임을 증명할 수 있다. 여기서 은 턴이 지난 뒤에도 게임이 계속될 확률이다.
당신의 목표는 게임의 기대 점수를 최대로 만드는 것이다.
입력
첫 번째 줄에 정수 이 주어진다 ().
두 번째 줄에 개의 정수 이 주어진다 ().
출력
가능한 최대 기대 점수를 으로 나눈 나머지를 한 줄에 출력한다. 다시 말해, 답이 과 서로소인 에 대해 유리수 로 표현된다고 할 때, 을 출력해야 한다.