QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#885777#9922. Mah-jongAugenstern_TL 966ms3840kbC++141.0kb2025-02-06 18:11:392025-02-06 18:11:41

Judging History

This is the latest submission verdict.

  • [2025-02-06 18:11:41]
  • Judged
  • Verdict: TL
  • Time: 966ms
  • Memory: 3840kb
  • [2025-02-06 18:11:39]
  • Submitted

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;

const int N = 5e5 + 10;
int n , ans;
int a[N] , num[11] , X[15];
inline void solve() {
	int sum = 0; ans = 0;
	for(int i = 1;i <= n;i ++) {
		int sum = 0;
		for(int j = 1;j <= 8;j ++) num[j] = 0;
		for(int j = i;j <= n;j ++) {
			num[a[j]] ++; bool flag = 1;
			if((j - i + 1) % 3) continue;
			for(int k = 1;k <= 8;k ++) X[k] = num[k];
			for(int k = 1;k <= 8;k ++) {
//				if(X[k + 1] < 0) flag = 0;
				X[k] %= 3;
				if(X[k + 1] < X[k] || X[k + 2] < X[k]) {
					flag = 0; break;
				}
				else X[k + 1] -= X[k] , X[k + 2] -= X[k];
			}
			ans += flag;
		}
	}
	printf("%lld\n",ans);
}

signed main() {
//	freopen("shade.in","r",stdin);
//	freopen("shade.out","w",stdout);
	int t; cin >> t;
	while(t --) {
		scanf("%lld",&n);
		for(int i = 1;i <= n;i ++) {
			scanf("%lld",&a[i]);
		}
		solve();
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}
/*
5 4 1 1 1 1 6 1 2 3 1 2 3 7 6 5 8 7 6 3 2 8 1 2 1 2 1 2 1 3 9 2 2 4 4 1 1 1 3 3
*/

詳細信息

Test #1:

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

input:

5
4
1 1 1 1
6
1 2 3 1 2 3
7
6 5 8 7 6 3 2
8
1 2 1 2 1 2 1 3
9
2 2 4 4 1 1 1 3 3

output:

2
5
1
3
2

result:

ok 5 number(s): "2 5 1 3 2"

Test #2:

score: 0
Accepted
time: 966ms
memory: 3840kb

input:

100
992
8 1 8 1 2 3 6 6 1 3 1 8 7 7 4 7 7 1 6 6 4 8 3 7 3 5 1 4 4 7 5 7 5 7 4 3 7 5 2 8 7 1 6 3 6 2 4 3 2 3 1 6 3 1 3 2 6 6 7 4 6 1 1 4 6 4 7 7 8 5 6 4 1 5 4 8 2 4 4 2 1 3 5 7 6 8 3 7 6 6 5 6 4 2 5 4 3 7 3 5 5 3 3 2 7 8 2 7 2 4 4 3 4 1 1 3 5 5 4 6 3 3 3 2 6 1 2 6 4 8 8 6 6 8 7 3 1 1 8 8 7 2 5 6 3 5 ...

output:

51699
61486
5146
1960
241675
6274
11224
46170
435241
1219228
17198
139542
299436
960439
217729
1174
87401
141087
69813
1
78895
0
39510
16757
86551
0
100302
161956
3
512157
58619
196941
26116
61635
28879
11511
2061
4394
74620
907389
172780
23952
524
87857
1305332
1413
11784
156368
11746
23217
25189
9...

result:

ok 100 numbers

Test #3:

score: -100
Time Limit Exceeded

input:

1
100000
7 6 3 7 1 2 5 2 4 5 3 2 6 2 2 2 5 6 5 8 6 2 1 8 2 2 1 1 4 8 2 6 4 1 8 6 6 7 8 4 4 5 4 7 8 6 2 3 3 7 5 7 1 1 3 5 2 8 5 6 3 6 2 3 3 8 4 5 7 8 1 5 6 1 3 4 5 7 1 5 4 4 4 6 6 4 2 3 5 2 7 3 5 8 7 1 5 4 5 4 1 5 8 7 2 2 8 2 4 3 5 7 6 6 1 6 6 3 1 1 3 1 7 8 1 7 3 7 8 3 6 3 5 7 5 1 8 7 4 7 5 4 8 1 3 4...

output:


result: