QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#759418#9353. Interesting PermutationScene#WA 30ms6092kbC++141.6kb2024-11-18 08:02:542024-11-18 08:02:55

Judging History

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

  • [2024-11-18 08:02:55]
  • 评测
  • 测评结果:WA
  • 用时:30ms
  • 内存:6092kb
  • [2024-11-18 08:02:54]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
#define pb push_back
#define fi first
#define se second
#define PII pair<int,int>
namespace IO {
    #define gh getchar
    inline int read(){char ch=gh();int x=0;bool t=0;while(ch<'0'||ch>'9')   t|=ch=='-',ch=gh();while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();return t?-x:x;}
    inline char getc(){char ch=gh();while(ch<'a'||ch>'z') ch=gh();return ch;}
    inline void write(int x){if(x < 0){putchar('-');x = -x;}if(x > 9){write(x / 10);}putchar((x % 10 + '0'));}
}
using namespace IO;
using namespace std;
#define Tp template<typename T>
#define Ts template<typename T,typename... Ar>
namespace Debug{
	Tp void _debug(char* f,T t){cerr<<f<<'='<<t<<endl;}
	Ts void _debug(char* f,T x,Ar... y){while(*f!=',') cerr<<*f++;cerr<<'='<<x<<",";_debug(f+1,y...);}
	#ifdef LOCAL
	#define gdb(...) _debug((char*)#__VA_ARGS__,__VA_ARGS__)
	#else                                               
	#define gdb(...) void()
	#endif
}using namespace Debug;
const int Maxn = 1000010, mod = 1e9 + 7;
int h[Maxn];
void work(){
    int n = read();
    for(int i = 1; i <= n; i++) h[i] = read();
    int f = (h[n] == n - 1 ? 1 : 0);
    int now = 0;
    for(int i = 2; i <= n; i++){
        if(h[i] < i - 1) {
            f = 0;
        }
        if(h[i - 1] > h[i]){
            f = 0;
        }
        if(h[i] == h[i - 1]){
            
            f = f * (h[i] - i + 2) % mod;
        }else f = f * 2 % mod;
    }
    cout << f << endl;
}
signed main(){
    int t = read();
    while(t--){
        work();
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 30ms
memory: 6092kb

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:

30720
0
0
0
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 1st lines differ - expected: '0', found: '30720'