問題一覧 >
通常問題
No.2898 Update Max
レベル :
/ 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ :
/
解いたユーザー数 41
作問者 :
蜜蜂
/ テスター :
Mitarushi
問題文最終更新日: 2024-09-19 21:49:31
問題文
長さが N の順列 P=(P1,P2,⋯,PN) に対して、 f(P) を以下のように定義します。
- 1≤i≤N を満たす整数 i のうち、 max(P1,P2,⋯,Pi)=Pi であるような個数。
長さが N の整数列 A=(A1,A2,⋯,AN) が与えられます。ここで、 Ai=−1 または 1≤Ai≤N が成立します。
長さが N の順列 P=(P1,P2,⋯,PN) であって、 1≤i≤N について Ai=−1 または Ai=Pi を満たすようなものを よい順列 とします。
よい順列 すべてに対して f(P) を足し合わせた値を 998244353 で割ったあまりを求めてください。
入力
N
A1 A2 ⋯AN
- 1≤N≤2×105
- Ai=−1 または 1≤Ai≤N
- 1≤i<j≤N かつ Ai=−1 かつ Aj=−1 ならば Ai=Aj
- 入力はすべて整数
サンプル
サンプル1
入力
4
1 -1 3 -1
出力
6
よい順列 は P=(1,2,3,4) と P=(1,4,3,2) の 2 つです。
- P=(1,2,3,4) のとき f(P)=4 です。これは以下より分かります。
- max(P1)=1=P1
- max(P1,P2)=2=P2
- max(P1,P2,P3)=3=P3
- max(P1,P2,P3,P4)=4=P4
- P=(1,4,3,2) のとき f(P)=2 です。これは以下より分かります。
- max(P1)=1=P1
- max(P1,P2)=4=P2
- max(P1,P2,P3)=4=P3
- max(P1,P2,P3,P4)=4=P4
よって答えは
4+2=6 です。
サンプル2
入力
6
2 4 5 3 6 1
出力
4
よい順列 は P=(2,4,5,3,6,1) の 1 つです。
- P=(2,4,5,3,6,1) のとき f(P)=4 です。
よって答えは
4 です。
サンプル3
入力
17
-1 -1 8 2 10 9 12 -1 7 -1 -1 -1 11 -1 13 -1 -1
出力
1310400
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。