만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Gacha 101

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

요약
라벨 i가 적힌 공 A_i개를 무작위로 하나씩 뽑을 때, 문자열 s가 어느 시점에든 101을 부분 문자열로 포함할 확률을 998244353으로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

유형
확률, 조합론, 수학
정답자
아직 제출이 없습니다

문제

각 i=1,2,…,Ni = 1, 2, \dots, N에 대해 숫자 ii가 적힌 공이 AiA_i개 있다. 모든 공을 상자에 넣고 잘 섞는다. 문자열 ss는 처음에 NN개의 "0"으로 이루어져 있다. 상자에서 공을 하나씩 균등한 확률로 무작위로 꺼낸다. 숫자 ii가 적힌 공을 꺼내면 ss의 ii번째 문자가 "1"로 바뀐다. 이미 "1"이었다면 그대로 둔다. 이 과정 중 어느 순간에든 ss가 "101"을 연속된 부분 문자열로 포함하게 될 확률을 구하라. 답은 998 244 353998\,244\,353으로 나눈 나머지로 출력한다.

입력

입력은 다음 형식으로 주어지는 테스트 케이스 하나이다.

NN

A1A_1 A2A_2 …\dots ANA_N

첫째 줄에 정수 NN이 주어진다. 단, 1≤N≤200 0001 \le N \le 200\,000이다. 둘째 줄에는 양의 정수 A1,A2,…,ANA_1, A_2, \dots, A_N이 주어진다. 각 ii (1≤i≤N1 \le i \le N)에 대해 AiA_i는 숫자 ii가 적힌 공의 개수이다. 모든 AiA_i의 합은 998 244 353998\,244\,353보다 작다.

출력

구한 확률을 998 244 353998\,244\,353으로 나눈 나머지를 한 줄에 출력한다.

힌트

법 998 244 353998\,244\,353에서 확률을 구하는 방법.

구하는 확률은 항상 유리수이다. 이 문제의 제약 조건에 따르면, 확률을 기약분수 yx\frac{y}{x}로 나타내었을 때 xx는 998 244 353998\,244\,353으로 나누어떨어지지 않는다. 이때 y≡xz(mod998 244 353)y \equiv xz \pmod{998\,244\,353}을 만족하는 0≤z<998 244 3530 \le z < 998\,244\,353이 유일하게 존재한다. 이 zz를 출력한다.

예제2

  1. 예제 1

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

    입력
    10
    3 1 4 1 5 9 2 6 5 3
    
    예상 출력
    488186016