結果
問題 |
No.1709 Indistinguishable by MEX
|
ユーザー |
![]() |
提出日時 | 2021-10-29 23:14:16 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 178 ms / 2,000 ms |
コード長 | 718 bytes |
コンパイル時間 | 182 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 29,448 KB |
最終ジャッジ日時 | 2024-10-07 12:51:39 |
合計ジャッジ時間 | 4,877 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
import sys #input = sys.stdin.readline input = sys.stdin.buffer.readline MOD = 998244353 def main(): N = int(input()); INF = pow(10,9) P = list(map(int,input().split())) A = [-1]*N for i,p in enumerate(P): A[p] = i #print(A) left = A[0] right = A[0] ans = 1 free = 0 for i in range(1,N): #print(left,right,A[i]) if A[i] < left: free += left - A[i] - 1 left = A[i] elif right < A[i]: free += A[i] - right - 1 right = A[i] else: ans *= free ans %= MOD free -= 1 #print("free",free) print(ans) if __name__ == '__main__': main()