#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define _(d) while(d((ch=getchar()-48)>=0))
inline int get(){
char ch;_(!);int x=ch;
_() x=(x<<3)+(x<<1)+ch;
return x;
}
const int N=1200005,mod=998244353;
int fc[N]={1},ic[N]={1},n;bool vs[N>>1];
inline int u(int a,int b){
int ret;__asm__ __volatile__(
"\tmull %%ebx\n\tdivl %%ecx\n":
"=d"(ret):"a"(a),"b"(b),"c"(mod));
return ret;
}
inline int inv(int x){
int ret=1;
for(int b=mod-2;b;b>>=1,x=u(x,x))
if(b&1) ret=u(ret,x);
return ret;
}
inline int c(int n,int m){
if(n<m) return 0;
return u(fc[n],u(ic[n-m],ic[m]));
}
inline int f(int i,int q){
int a=(n<<1)-i-q,b=n-i+1;
b=c(a,b)-c(a,b+1);
return b<0?b+mod:b;
}
int main(){
for(int i=1;i<N;++i) fc[i]=u(fc[i-1],i);
ic[N-1]=inv(fc[N-1]);
for(int i=N-1;i>1;--i) ic[i-1]=u(ic[i],i);
for(int T=get();T--;){
memset(vs+1,0,n=get());
int ans=0,mx=0,ps=1,i,x,t;
for(i=1;i<=n;++i,mx=t){
vs[x=get()]=1;
if((ans+=f(i,t=max(x,mx)))>=mod) ans-=mod;
if(x<mx&&ps<x) break;
for(;vs[ps];++ps);
}while(i<n) ++i,get();
printf("%d\n",ans);
}
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 21.63 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #2 | 21.631 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #3 | 21.631 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #4 | 21.63 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #5 | 21.63 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #6 | 21.63 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #7 | 21.629 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #8 | 21.629 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #9 | 21.629 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #10 | 21.631 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #11 | 21.63 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #12 | 21.637 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #13 | 21.638 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #14 | 21.639 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #15 | 21.639 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #16 | 21.644 ms | 9 MB + 176 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #17 | 21.685 ms | 9 MB + 180 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #18 | 21.691 ms | 9 MB + 180 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #19 | 21.688 ms | 9 MB + 180 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #20 | 21.695 ms | 9 MB + 180 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #21 | 48.289 ms | 9 MB + 440 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #22 | 56.032 ms | 9 MB + 504 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #23 | 66.219 ms | 9 MB + 612 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #24 | 69.61 ms | 9 MB + 720 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #25 | 68.523 ms | 9 MB + 760 KB | Accepted | Score: 4 | 显示更多 |