結果
問題 | No.1709 Indistinguishable by MEX |
ユーザー | unti |
提出日時 | 2021-05-27 23:22:09 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 63 ms / 2,000 ms |
コード長 | 556 bytes |
コンパイル時間 | 1,603 ms |
コンパイル使用メモリ | 168,076 KB |
実行使用メモリ | 6,528 KB |
最終ジャッジ日時 | 2024-09-17 16:56:04 |
合計ジャッジ時間 | 3,828 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double ; #define rep(i,n) for (ll i=0; i < (n); ++i) #define fi first #define se second const ll mod=998244353ll ; int main(){ ll n ; cin>>n ; vector<ll> A(n) ; rep(i,n) cin>>A[i] ; vector<ll> pl(n) ; rep(i,n) pl[A[i]]=i ; ll ans=1ll ; ll l=pl[0] ; ll r=pl[0] ; rep(i,n-1){ if(pl[i+1]<l) l=pl[i+1] ; else if(r<pl[i+1]) r=pl[i+1] ; else ans*=(r-l-i) ; ans%=mod ; } ans%=mod ; cout<<ans<<endl ; return 0 ; }