90分,MLE。
#include<iostream>
#include<string>
#include<vector>
const unsigned int md=998244353;
unsigned short v[1000000003];
using namespace std;
int main(){
unsigned long long as=1;
unsigned int n,mn=0;cin>>n;
if(n==1){
cout<<'1';return 0;
}unsigned int a[n];cin>>a[0];mn=a[0];
for(unsigned int i=01;i<n;++i){
cin>>a[i];
if((a[i]>mn)){v[(a[i])]++;}
if(mn>a[i])mn=a[i];
}
for(unsigned int i=0;i<n;++i){
as*=(v[a[i]]+1);
v[a[i]]=0;
as%=md;
}
cout<<as;
return 0;
}