QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#716487#9353. Interesting PermutationXinyoucuo1dui#WA 27ms4540kbC++23957b2024-11-06 15:23:282024-11-06 15:23:31

Judging History

你现在查看的是最新测评结果

  • [2024-11-06 15:23:31]
  • 评测
  • 测评结果:WA
  • 用时:27ms
  • 内存:4540kb
  • [2024-11-06 15:23:28]
  • 提交

answer

#include<bits/stdc++.h>
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
using namespace std;
#define int long long
inline int read(){
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
const int p=1e9+7;
int qp(int x,int y)
{
	int res=1;
	for(int t=x; y; y>>=1,t=1ll*t*t%p)
		if(y&1) res=1ll*res*t%p;
	return res;
}
int a[1<<20];
signed main()
{
	for(int T=read();T--;)
	{
		int n=read();
		for(int i=1; i<=n; ++i) a[i]=read();
		if(a[1]!=0||a[n]!=n-1)
		{
			puts("0");
			continue;
		}
		int ans=1;
		for(int i=2; i<=n; ++i) if(a[i]!=a[i-1])
			ans=ans*2%p;
		else
		{
			if((a[i]+1-(i-1))<=0){ans=0;break;}
			else ans=ans*(a[i]+1-(i-1))%p;
		}
		printf("%lld\n",ans);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3820kb

input:

3
3
0 2 2
3
0 1 2
3
0 2 3

output:

2
4
0

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 27ms
memory: 4540kb

input:

10039
14
5 6 7 8 9 10 11 12 13 13 13 13 13 13
14
0 5 6 7 8 9 10 11 12 13 14 14 14 14
1
1
14
0 5 4 8 9 10 11 12 13 13 13 13 13 13
45
0 1 1 2 2 3 5 5 6 6 8 9 11 13 15 17 18 18 20 22 22 24 26 26 26 26 27 27 27 28 30 32 32 33 34 34 34 36 36 38 38 38 39 39 44
24
0 2 3 5 7 9 9 10 11 12 13 14 14 14 14 15 1...

output:

0
0
0
30720
0
0
24576
0
0
0
0
0
658159182
0
805306368
8
572589350
12288
2
0
981283070
0
0
2
0
0
0
0
4423680
0
0
14155776
16
0
768
0
0
0
855189487
0
2
0
0
0
0
2
0
2
797370259
0
0
0
0
4
0
0
0
301989888
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
192
0
0
12288
0
0
2
8
0
0
495514526
0
0
955131071
768
0
0
147456...

result:

wrong answer 4th lines differ - expected: '0', found: '30720'