結果
問題 | No.2433 Min Increasing Sequence |
ユーザー | chineristAC |
提出日時 | 2023-08-18 22:28:47 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 116 ms / 2,000 ms |
コード長 | 654 bytes |
コンパイル時間 | 426 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 109,312 KB |
最終ジャッジ日時 | 2024-11-28 08:17:56 |
合計ジャッジ時間 | 4,718 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
ソースコード
import sys from itertools import permutations from heapq import * input = lambda :sys.stdin.readline().rstrip() mi = lambda :map(int,input().split()) li = lambda :list(mi()) mod = 998244353 N = int(input()) A = li() most_left_mini = [i for i in range(N)] mini = [A[i] for i in range(N)] for i in range(N-1)[::-1]: if A[i] <= mini[i+1]: most_left_mini[i] = i mini[i] = A[i] else: most_left_mini[i] = most_left_mini[i+1] mini[i] = mini[i+1] dp = [0] * (N+1) dp[N] = 1 cum = [0] * (N+1) cum[N] = 1 for i in range(N)[::-1]: dp[i] = cum[most_left_mini[i]+1] cum[i] = (dp[i] + cum[i+1]) % mod print(dp[0])