QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#628174#5543. The Only Modeucup-team5062#AC ✓2000ms13040kbC++204.0kb2024-10-10 19:00:112024-10-10 19:00:12

Judging History

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

  • [2024-10-10 19:00:12]
  • 评测
  • 测评结果:AC
  • 用时:2000ms
  • 内存:13040kb
  • [2024-10-10 19:00:11]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")

const int BACKET = 123;
int N;
int Answer[4];
int A[100009];
int X[100009];
int Y[100009];
int Z[100009];
int dp[BACKET + 2][BACKET + 2][BACKET + 2];

int Solve(int cl, int cr, int idx) {
	// Initialize
	if (idx == 0) {
		X[cl] = 0;
		Y[cl] = 0;
		Z[cl] = 0;
		for (int i = cl; i < N; i++) X[i + 1] = X[i] + (A[i] == 0 ? +1 : (A[i] == 1 ? -1 : 0));
		for (int i = cl; i < N; i++) Y[i + 1] = Y[i] + (A[i] == 0 ? +1 : (A[i] == 2 ? -1 : 0));
		for (int i = cl; i < N; i++) Z[i + 1] = Z[i] + (A[i] == 0 ? +1 : (A[i] == 3 ? -1 : 0));
	}
	if (idx == 1) {
		X[cl] = 0;
		Y[cl] = 0;
		Z[cl] = 0;
		for (int i = cl; i < N; i++) X[i + 1] = X[i] + (A[i] == 1 ? +1 : (A[i] == 2 ? -1 : 0));
		for (int i = cl; i < N; i++) Y[i + 1] = Y[i] + (A[i] == 1 ? +1 : (A[i] == 3 ? -1 : 0));
		for (int i = cl; i < N; i++) Z[i + 1] = Z[i] + (A[i] == 1 ? +1 : (A[i] == 0 ? -1 : 0));
	}
	if (idx == 2) {
		X[cl] = 0;
		Y[cl] = 0;
		Z[cl] = 0;
		for (int i = cl; i < N; i++) X[i + 1] = X[i] + (A[i] == 2 ? +1 : (A[i] == 3 ? -1 : 0));
		for (int i = cl; i < N; i++) Y[i + 1] = Y[i] + (A[i] == 2 ? +1 : (A[i] == 0 ? -1 : 0));
		for (int i = cl; i < N; i++) Z[i + 1] = Z[i] + (A[i] == 2 ? +1 : (A[i] == 1 ? -1 : 0));
	}
	if (idx == 3) {
		X[cl] = 0;
		Y[cl] = 0;
		Z[cl] = 0;
		for (int i = cl; i < N; i++) X[i + 1] = X[i] + (A[i] == 3 ? +1 : (A[i] == 0 ? -1 : 0));
		for (int i = cl; i < N; i++) Y[i + 1] = Y[i] + (A[i] == 3 ? +1 : (A[i] == 1 ? -1 : 0));
		for (int i = cl; i < N; i++) Z[i + 1] = Z[i] + (A[i] == 3 ? +1 : (A[i] == 2 ? -1 : 0));
	}

	// Get Min/Max
	int lx = 0, rx = 0;
	int ly = 0, ry = 0;
	int lz = 0, rz = 0;
	for (int i = cl; i < cr; i++) lx = min(lx, X[i]);
	for (int i = cl; i < cr; i++) rx = max(rx, X[i]);
	for (int i = cl; i < cr; i++) ly = min(ly, Y[i]);
	for (int i = cl; i < cr; i++) ry = max(ry, Y[i]);
	for (int i = cl; i < cr; i++) lz = min(lz, Z[i]);
	for (int i = cl; i < cr; i++) rz = max(rz, Z[i]);
	lx -= 1; ly -= 1; lz -= 1;
	int hx = rx - lx;
	int hy = ry - ly;
	int hz = rz - lz;

	// Get Ruiseki Max
	for (int i = cr; i <= N; i++) dp[max(0, min(hx, X[i] - lx - 1))][max(0, min(hy, Y[i] - ly - 1))][max(0, min(hz, Z[i] - lz - 1))] = i;
	for (int i = hx - 1; i >= 0; i--) {
		for (int j = hy; j >= 0; j--) {
			for (int k = hz; k >= 0; k--) dp[i][j][k] = max(dp[i][j][k], dp[i + 1][j][k]);
		}
	}
	for (int i = hx; i >= 0; i--) {
		for (int j = hy - 1; j >= 0; j--) {
			for (int k = hz; k >= 0; k--) dp[i][j][k] = max(dp[i][j][k], dp[i][j + 1][k]);
		}
	}
	for (int i = hx; i >= 0; i--) {
		for (int j = hy; j >= 0; j--) {
			for (int k = hz - 1; k >= 0; k--) dp[i][j][k] = max(dp[i][j][k], dp[i][j][k + 1]);
		}
	}

	// Solve
	int Answer = 0;
	for (int i = cl; i < cr; i++) {
		Answer = max(Answer, dp[X[i] - lx][Y[i] - ly][Z[i] - lz] - i);
	}
	for (int i = 0; i <= hx; i++) {
		for (int j = 0; j <= hy; j++) {
			for (int k = 0; k <= hz; k++) dp[i][j][k] = 0;
		}
	}
	return Answer;
}

int main() {
	// Step 1. Input
	scanf("%d", &N);
	for (int i = 0; i < N; i++) scanf("%d", &A[i]);

	// Step 2. Solve
	for (int i = 0; i < N; i += BACKET) {
		int cl = i;
		int cr = min(N, i + BACKET);
		for (int j = 0; j < 4; j++) Answer[j] = max(Answer[j], Solve(cl, cr, j));
	}

	// Step 3. Naive Solve
	for (int i = 0; i < N; i++) {
		int cnt[4] = {0, 0, 0, 0};
		for (int j = i; j < min(N, i + BACKET + 1); j++) {
			cnt[A[j]] += 1;
			if (cnt[0] > cnt[1] && cnt[0] > cnt[2] && cnt[0] > cnt[3]) Answer[0] = max(Answer[0], j - i + 1);
			if (cnt[1] > cnt[2] && cnt[1] > cnt[3] && cnt[1] > cnt[0]) Answer[1] = max(Answer[1], j - i + 1);
			if (cnt[2] > cnt[3] && cnt[2] > cnt[0] && cnt[2] > cnt[1]) Answer[2] = max(Answer[2], j - i + 1);
			if (cnt[3] > cnt[0] && cnt[3] > cnt[1] && cnt[3] > cnt[2]) Answer[3] = max(Answer[3], j - i + 1);
		}
	}

	// Step 4. Output
	cout << Answer[0] << " " << Answer[1] << " " << Answer[2] << " " << Answer[3] << endl;
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 5892kb

input:

7
1 2 2 0 3 0 3

output:

4 1 5 3

result:

ok single line: '4 1 5 3'

Test #2:

score: 0
Accepted
time: 1ms
memory: 5804kb

input:

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

output:

4 9 1 9

result:

ok single line: '4 9 1 9'

Test #3:

score: 0
Accepted
time: 0ms
memory: 5840kb

input:

2
0 2

output:

1 0 1 0

result:

ok single line: '1 0 1 0'

Test #4:

score: 0
Accepted
time: 1ms
memory: 5856kb

input:

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

output:

1 5 11 8

result:

ok single line: '1 5 11 8'

Test #5:

score: 0
Accepted
time: 1ms
memory: 5852kb

input:

1
1

output:

0 1 0 0

result:

ok single line: '0 1 0 0'

Test #6:

score: 0
Accepted
time: 3ms
memory: 7820kb

input:

4207
3 1 0 3 2 0 3 1 1 1 1 3 0 1 1 0 2 2 3 0 1 1 0 1 0 2 0 1 0 0 3 3 1 0 1 3 3 0 2 0 2 0 1 0 2 3 2 3 0 0 0 0 1 2 1 2 0 2 2 0 3 3 2 2 0 2 2 0 3 0 1 3 1 1 0 2 3 0 1 2 1 2 0 0 1 1 0 3 3 2 0 2 1 3 0 1 0 3 0 0 0 2 2 2 0 1 1 0 3 1 1 3 3 2 2 1 3 3 1 3 2 0 2 3 2 2 1 0 2 3 0 1 0 0 1 1 1 3 3 1 3 3 3 0 0 0 3 2...

output:

2330 1520 4207 1359

result:

ok single line: '2330 1520 4207 1359'

Test #7:

score: 0
Accepted
time: 1388ms
memory: 9748kb

input:

89925
0 0 0 3 0 3 0 2 3 2 3 1 0 0 0 2 2 1 3 3 0 0 1 0 0 3 0 1 0 0 1 1 0 0 1 2 1 3 1 2 1 2 2 1 0 2 2 3 0 0 1 0 2 3 2 3 0 0 1 0 0 1 2 1 3 0 0 0 2 1 1 0 1 3 2 2 0 0 2 3 2 3 3 1 3 3 0 2 0 2 2 0 2 1 3 0 1 1 0 0 1 0 3 1 2 2 2 0 2 0 2 3 2 0 0 2 3 3 1 0 1 2 2 2 1 2 0 0 3 2 3 0 1 1 3 3 0 0 0 3 0 2 0 0 2 3 1 ...

output:

89925 49888 75725 38162

result:

ok single line: '89925 49888 75725 38162'

Test #8:

score: 0
Accepted
time: 745ms
memory: 8504kb

input:

64937
1 1 0 2 1 1 3 1 1 1 2 0 3 1 1 2 1 2 2 1 0 2 1 1 1 1 1 0 3 1 0 2 1 0 0 0 0 2 1 2 1 2 2 1 2 3 2 1 2 1 3 0 1 3 0 0 1 3 1 2 2 2 0 3 3 1 3 0 3 3 2 0 1 1 2 0 3 3 3 2 1 0 1 0 1 3 0 0 2 1 0 3 3 1 2 3 2 1 1 0 0 3 1 1 2 1 0 2 1 0 0 1 1 3 0 1 2 1 3 2 0 3 1 2 1 2 0 0 0 1 1 2 3 3 2 1 1 1 2 1 3 1 2 2 2 0 1 ...

output:

64937 61901 51387 63870

result:

ok single line: '64937 61901 51387 63870'

Test #9:

score: 0
Accepted
time: 929ms
memory: 8052kb

input:

73423
1 2 2 0 0 0 0 2 1 2 1 2 1 3 1 3 3 0 1 2 2 0 0 0 3 2 1 1 0 3 0 2 1 3 1 1 2 3 0 1 2 1 0 0 0 3 3 0 3 2 3 3 1 1 3 2 0 0 0 3 2 0 0 2 3 3 3 3 3 2 3 2 2 2 3 3 0 1 1 2 2 2 1 2 2 1 1 2 1 2 2 3 0 3 0 2 2 2 1 2 1 1 2 3 0 1 3 2 0 3 3 3 0 2 2 2 3 1 0 1 0 1 1 3 0 0 2 1 1 3 1 3 3 2 0 2 2 1 1 0 1 0 2 3 1 2 3 ...

output:

36577 18616 60210 73423

result:

ok single line: '36577 18616 60210 73423'

Test #10:

score: 0
Accepted
time: 1157ms
memory: 8440kb

input:

82517
2 1 1 0 2 0 3 1 3 1 3 3 2 2 3 0 3 2 2 0 2 1 0 2 2 3 2 0 1 0 1 2 2 1 1 1 3 2 2 0 1 0 0 3 3 1 1 0 3 1 3 1 2 3 3 3 3 3 2 1 3 1 3 0 2 0 2 0 2 2 2 2 2 1 2 1 3 3 2 3 2 3 0 2 0 1 0 0 3 2 1 1 0 1 2 1 1 0 1 3 1 3 3 2 2 3 0 2 1 3 2 1 0 1 2 3 2 2 3 3 1 0 2 0 3 2 3 0 1 2 0 3 3 0 2 1 1 3 3 2 2 0 2 2 1 1 2 ...

output:

50863 68187 40176 82517

result:

ok single line: '50863 68187 40176 82517'

Test #11:

score: 0
Accepted
time: 1088ms
memory: 8540kb

input:

79392
0 2 2 2 0 3 2 3 1 1 1 0 0 3 1 3 3 0 2 2 0 0 0 2 1 0 2 2 2 1 2 3 2 0 3 3 3 2 0 1 0 1 1 1 0 1 0 1 0 2 3 3 0 1 2 3 0 1 0 1 0 1 2 2 1 3 0 0 1 3 1 2 2 1 0 0 2 1 0 0 2 2 3 1 3 0 3 2 0 0 0 0 3 3 0 0 2 2 0 2 0 2 3 1 0 2 2 1 2 2 0 3 3 3 2 1 3 1 1 1 1 2 0 0 1 1 1 0 1 1 1 3 3 0 2 3 1 1 0 1 2 3 1 3 3 0 0 ...

output:

68113 34911 26794 79392

result:

ok single line: '68113 34911 26794 79392'

Test #12:

score: 0
Accepted
time: 1786ms
memory: 12332kb

input:

100000
2 0 0 1 0 2 3 3 0 2 1 2 0 2 0 3 0 0 2 0 1 1 0 1 1 1 1 0 2 2 0 1 0 1 0 0 0 3 1 0 3 0 1 1 1 3 1 0 1 3 1 1 1 0 1 3 0 1 1 0 1 3 0 0 0 0 0 0 0 1 0 0 1 3 1 3 0 1 0 0 2 1 1 2 2 0 3 3 2 1 1 0 0 1 1 2 0 1 2 0 3 3 1 1 1 0 3 3 0 1 3 0 1 0 2 1 3 3 2 3 2 0 2 3 0 2 2 2 0 1 0 0 1 0 2 1 1 1 2 1 2 1 1 0 3 1 1...

output:

448 100000 52 33

result:

ok single line: '448 100000 52 33'

Test #13:

score: 0
Accepted
time: 1957ms
memory: 13040kb

input:

100000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 3 0 0 0 0 0 3 0 0 0 0 0...

output:

100000 0 0 11

result:

ok single line: '100000 0 0 11'

Test #14:

score: 0
Accepted
time: 1999ms
memory: 13020kb

input:

100000
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2...

output:

0 0 100000 0

result:

ok single line: '0 0 100000 0'

Test #15:

score: 0
Accepted
time: 1990ms
memory: 12952kb

input:

100000
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2...

output:

0 0 33423 100000

result:

ok single line: '0 0 33423 100000'

Test #16:

score: 0
Accepted
time: 1ms
memory: 5828kb

input:

2
2 0

output:

1 0 1 0

result:

ok single line: '1 0 1 0'

Test #17:

score: 0
Accepted
time: 2000ms
memory: 12836kb

input:

100000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

output:

59937 100000 30184 50197

result:

ok single line: '59937 100000 30184 50197'

Test #18:

score: 0
Accepted
time: 1994ms
memory: 12832kb

input:

100000
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2...

output:

1 3 100000 1

result:

ok single line: '1 3 100000 1'

Test #19:

score: 0
Accepted
time: 1700ms
memory: 8492kb

input:

100000
2 2 0 3 1 3 1 1 1 2 2 3 1 0 1 3 1 3 3 2 2 2 0 3 2 0 2 0 1 2 0 0 1 0 3 0 1 2 0 3 0 2 2 3 1 3 0 0 0 0 0 2 1 0 2 3 2 2 3 1 0 2 0 0 2 1 3 2 3 2 2 2 3 0 2 2 2 1 1 2 1 3 1 1 0 2 3 0 1 2 2 3 2 0 2 2 1 2 0 2 3 0 3 2 1 1 0 2 3 3 1 0 0 2 3 0 0 3 2 0 1 0 2 1 2 2 3 1 2 0 1 0 1 0 3 3 2 2 2 1 3 2 0 2 1 0 2...

output:

99993 99996 99997 99997

result:

ok single line: '99993 99996 99997 99997'

Test #20:

score: 0
Accepted
time: 1756ms
memory: 12104kb

input:

100000
2 1 0 1 1 1 3 2 1 0 2 1 1 1 1 1 3 0 3 1 1 1 1 1 1 2 3 1 0 2 1 1 2 3 1 0 1 3 1 1 3 1 3 3 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 3 1 0 3 1 1 3 1 1 1 2 3 2 3 1 1 3 0 3 0 1 2 2 3 1 3 1 0 2 3 1 1 1 3 1 1 0 1 2 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 0 3 3 2 0 3 1 1 0 1 2 3 3 1 1 1 1 1 3 1 1 1 3 0 2 1...

output:

69 100000 42 181

result:

ok single line: '69 100000 42 181'

Test #21:

score: 0
Accepted
time: 1734ms
memory: 7960kb

input:

100000
2 2 0 2 1 2 2 0 0 0 3 0 2 1 0 2 0 0 3 0 0 1 1 0 2 1 3 0 0 1 1 2 1 2 0 2 2 2 1 2 2 2 2 0 1 0 0 2 3 1 2 2 0 1 3 2 1 1 0 0 0 1 1 1 2 1 2 0 0 2 3 2 1 2 1 1 2 2 1 3 2 0 2 1 0 1 2 0 1 2 3 2 2 0 3 2 3 1 2 0 1 2 2 0 2 1 1 1 2 0 2 1 2 2 0 3 1 3 2 0 1 1 2 0 2 0 2 2 2 0 0 1 1 1 2 3 2 1 1 3 1 1 2 1 1 3 3...

output:

99998 99997 99265 50

result:

ok single line: '99998 99997 99265 50'

Test #22:

score: 0
Accepted
time: 1706ms
memory: 7680kb

input:

100000
1 1 3 0 0 3 1 0 1 0 1 2 2 3 0 3 3 2 1 1 0 2 0 1 2 0 3 0 2 3 1 1 3 1 3 2 1 0 0 1 3 0 0 3 3 3 3 3 1 0 1 1 1 0 1 2 1 1 0 1 1 0 1 3 3 0 2 1 3 1 1 2 2 2 2 1 0 1 1 1 3 2 3 1 1 3 0 3 0 3 2 3 2 3 0 0 1 3 3 2 0 1 1 1 3 2 0 1 3 0 1 2 2 2 1 3 1 1 1 1 1 0 2 3 3 2 3 3 3 2 2 3 1 2 0 1 1 3 1 1 3 3 2 2 1 2 1...

output:

99902 99960 99996 99996

result:

ok single line: '99902 99960 99996 99996'

Test #23:

score: 0
Accepted
time: 801ms
memory: 6144kb

input:

100000
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2...

output:

99997 99997 99997 99997

result:

ok single line: '99997 99997 99997 99997'

Test #24:

score: 0
Accepted
time: 1951ms
memory: 12968kb

input:

100000
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3...

output:

49999 74998 74998 49999

result:

ok single line: '49999 74998 74998 49999'

Test #25:

score: 0
Accepted
time: 1955ms
memory: 13016kb

input:

100000
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3...

output:

99038 98842 99667 74993

result:

ok single line: '99038 98842 99667 74993'

Test #26:

score: 0
Accepted
time: 789ms
memory: 7340kb

input:

100000
1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0 2 3 0 1 2 0...

output:

99997 1 100000 1

result:

ok single line: '99997 1 100000 1'

Test #27:

score: 0
Accepted
time: 0ms
memory: 3752kb

input:

3
3 1 3

output:

0 1 0 3

result:

ok single line: '0 1 0 3'

Test #28:

score: 0
Accepted
time: 787ms
memory: 8336kb

input:

100000
2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0 0 3 3 0 2 1 2 1 0 2 2 0...

output:

99999 4 99999 5

result:

ok single line: '99999 4 99999 5'

Test #29:

score: 0
Accepted
time: 1703ms
memory: 9844kb

input:

100000
2 2 2 0 0 2 2 3 2 0 1 1 1 2 2 3 2 2 2 2 2 0 1 2 1 1 3 3 3 0 2 1 2 1 0 3 0 3 3 2 3 0 3 3 0 3 3 3 1 2 1 1 2 1 2 2 0 2 1 2 3 1 2 2 2 1 1 3 3 3 2 2 0 1 1 0 0 3 2 2 1 1 1 3 2 2 3 1 2 1 0 2 0 2 2 3 3 2 1 0 2 3 0 0 1 0 0 3 0 1 2 2 1 0 0 0 3 1 1 1 1 0 0 2 2 2 1 1 2 3 2 3 0 0 3 2 0 3 0 1 0 3 0 0 0 1 0...

output:

31701 90659 88119 100000

result:

ok single line: '31701 90659 88119 100000'

Test #30:

score: 0
Accepted
time: 1701ms
memory: 7816kb

input:

100000
0 1 3 2 2 0 1 0 2 0 1 2 1 1 1 3 0 2 1 1 3 2 3 2 0 3 2 2 2 3 3 1 0 0 1 3 0 2 3 1 0 0 1 1 3 0 2 0 2 2 2 0 2 1 1 0 2 3 0 3 0 2 0 2 3 0 2 1 2 3 1 0 2 1 0 1 2 2 3 1 3 1 0 1 1 2 0 1 2 2 0 1 1 3 3 0 0 1 3 1 1 0 0 3 2 0 1 0 1 1 3 2 1 3 2 3 1 3 2 2 2 3 1 0 3 0 1 0 3 2 0 3 2 1 3 3 2 3 1 0 1 1 3 3 0 1 3...

output:

62661 100000 86884 68086

result:

ok single line: '62661 100000 86884 68086'

Test #31:

score: 0
Accepted
time: 1707ms
memory: 8352kb

input:

100000
2 0 3 2 2 1 1 0 0 3 1 2 1 3 1 3 3 0 0 3 2 2 0 0 3 0 1 3 3 2 1 3 1 1 0 1 1 2 2 1 0 3 2 2 2 0 1 3 2 0 1 2 2 3 2 0 1 3 2 3 0 2 0 2 3 3 2 2 2 1 3 0 1 0 3 0 1 2 2 2 1 1 0 0 0 3 1 2 2 0 3 0 2 1 2 2 1 0 0 0 2 0 1 3 1 0 0 2 0 0 3 2 2 2 1 3 3 3 2 2 0 0 3 1 1 2 0 3 3 1 2 1 1 0 0 3 1 2 0 1 2 0 0 0 3 2 3...

output:

77511 28943 63391 100000

result:

ok single line: '77511 28943 63391 100000'

Test #32:

score: 0
Accepted
time: 1711ms
memory: 8560kb

input:

100000
1 2 3 1 0 2 0 0 0 3 3 0 2 1 2 0 0 3 2 2 3 0 1 3 3 3 1 2 0 2 3 0 2 1 1 2 0 0 3 3 2 1 1 3 2 0 0 3 0 0 0 3 3 1 1 1 1 0 0 3 1 2 1 1 0 2 3 3 0 2 0 0 2 3 0 0 0 3 2 2 2 1 1 3 2 0 3 3 3 0 0 1 0 1 1 0 2 3 2 0 1 2 2 0 1 3 1 2 3 1 3 1 1 2 0 1 3 1 0 1 2 3 2 3 0 1 3 3 1 1 2 2 3 0 2 0 0 1 3 3 2 3 0 3 2 2 3...

output:

81571 73712 100000 99871

result:

ok single line: '81571 73712 100000 99871'

Test #33:

score: 0
Accepted
time: 1706ms
memory: 7728kb

input:

100000
3 0 1 0 1 0 3 1 2 0 2 3 2 3 1 0 1 0 3 0 1 0 0 1 0 0 1 1 0 2 1 2 3 0 1 2 2 1 0 2 1 1 0 1 3 1 3 0 0 1 2 1 2 3 3 3 0 3 0 0 3 0 1 0 3 1 1 1 1 1 1 3 3 3 3 0 0 0 1 1 0 1 1 3 3 2 0 1 1 1 3 0 0 3 3 3 2 3 3 2 2 1 0 3 1 3 3 1 2 2 3 3 0 3 1 2 0 1 3 3 3 1 1 2 3 2 0 1 2 2 0 2 0 1 1 2 3 1 3 2 2 0 2 0 3 3 2...

output:

27558 100000 48059 95964

result:

ok single line: '27558 100000 48059 95964'

Test #34:

score: 0
Accepted
time: 0ms
memory: 5780kb

input:

4
2 1 3 0

output:

1 1 1 1

result:

ok single line: '1 1 1 1'

Test #35:

score: 0
Accepted
time: 1ms
memory: 5904kb

input:

10
1 0 1 2 3 0 2 0 1 3

output:

9 5 5 1

result:

ok single line: '9 5 5 1'

Test #36:

score: 0
Accepted
time: 4ms
memory: 4208kb

input:

2970
2 2 3 2 3 2 3 1 2 2 1 1 1 3 0 3 1 1 1 3 3 2 1 2 1 3 3 0 1 0 2 0 1 3 3 3 0 3 3 3 1 3 3 1 2 3 2 0 2 2 2 0 2 3 3 2 0 1 1 1 0 3 2 1 0 2 0 0 1 2 0 2 0 2 1 3 3 2 1 1 2 1 3 2 0 0 3 2 2 2 0 0 1 0 3 1 2 1 1 2 0 1 2 3 3 0 2 0 2 0 3 2 2 1 1 1 1 0 2 0 1 0 2 2 1 0 3 0 3 1 2 3 0 0 2 3 2 0 3 3 3 1 2 3 0 2 1 2...

output:

2590 2970 2754 2815

result:

ok single line: '2590 2970 2754 2815'

Test #37:

score: 0
Accepted
time: 5ms
memory: 6280kb

input:

3362
2 1 3 3 1 0 1 2 1 3 2 3 1 1 3 2 3 1 0 3 0 0 0 3 0 0 0 2 1 1 3 0 0 1 1 3 3 0 2 0 3 3 2 3 3 1 2 3 0 2 0 2 1 3 2 0 3 0 1 1 2 1 3 0 1 3 3 2 2 3 3 0 2 2 2 0 3 1 3 3 0 3 2 3 1 3 3 1 0 0 3 3 3 2 0 3 1 3 2 3 2 1 3 3 3 1 1 0 1 2 2 2 0 1 0 0 1 1 1 1 3 3 2 0 1 2 3 0 3 2 3 1 3 3 1 1 0 0 3 3 0 3 1 2 3 0 3 0...

output:

1302 2637 1953 3362

result:

ok single line: '1302 2637 1953 3362'

Test #38:

score: 0
Accepted
time: 7ms
memory: 6256kb

input:

4523
1 1 2 2 3 3 3 1 1 2 1 0 0 1 3 0 2 1 1 1 1 1 0 0 1 0 1 1 0 0 2 2 3 2 1 2 1 0 3 2 2 0 2 0 1 1 1 0 2 2 3 3 3 2 2 3 1 3 3 2 0 2 1 2 1 3 1 1 2 3 0 2 3 1 2 0 1 0 0 2 2 2 1 1 2 1 3 2 0 0 0 1 0 1 2 2 0 2 1 1 0 3 2 0 0 0 0 1 2 3 3 1 2 0 0 3 3 0 0 1 0 2 1 1 2 0 1 1 2 3 2 3 3 0 3 0 2 3 0 2 1 2 2 3 1 0 3 0...

output:

4523 4511 3922 4475

result:

ok single line: '4523 4511 3922 4475'

Test #39:

score: 0
Accepted
time: 0ms
memory: 6176kb

input:

2403
3 1 0 0 2 3 3 3 2 2 1 0 2 3 3 1 3 0 3 2 2 2 2 2 3 1 2 3 0 1 1 2 1 3 1 2 1 0 0 3 2 3 0 3 0 1 1 3 3 0 3 1 0 3 1 0 3 1 0 3 0 1 0 0 1 1 3 2 3 1 3 3 1 3 1 0 0 0 2 1 0 1 1 0 3 0 0 3 0 2 1 2 3 2 3 0 3 0 0 2 1 2 1 3 2 2 1 2 3 1 3 3 3 3 1 1 1 1 2 0 3 3 1 2 0 1 2 2 0 3 1 3 2 0 3 3 0 2 3 0 0 1 0 2 1 3 2 0...

output:

1437 2403 2320 1954

result:

ok single line: '1437 2403 2320 1954'