QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#73052#5430. Triangeltal123456780 39ms15032kbC++141.8kb2023-01-21 18:18:342023-01-21 18:18:35

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-01-21 18:18:35]
  • 评测
  • 测评结果:0
  • 用时:39ms
  • 内存:15032kb
  • [2023-01-21 18:18:34]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mp make_pair
#define inf 1e9
#define pii pair <int, int>
const int mod = 1e9 + 7;
inline int read () {
	int x = 0, f = 1;
	char ch = getchar ();
	while (ch < '0' || ch > '9') f = ((ch == '-') ? -1 : f), ch = getchar ();
	while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar ();
	return x * f;
}
inline void write (int x) {
	if (x < 0) x = -x, putchar ('-');
	if (x >= 10) write (x / 10);
	putchar (x % 10 + '0');
}
inline int quickmod (int x, int y) {
	int Ans = 1;
	while (y) {
		if (y & 1) Ans = (Ans * x) % mod;
		x = (x * x) % mod;
		y >>= 1;
	}
	return Ans;
}
int n;
pii a[500005];
int ans[500005];
signed main () {
//	freopen (".in", "r", stdin);
//	freopen (".out", "w", stdout);
	n = read();
	for(int i = 1; i <= n; i++) a[i] = mp(read(), i);
	
	sort(a + 1, a + 1 + n);
	for(int i = 1; i <= n; i++) {
		for(int j = i + 1; j <= n; j++) {
			if(a[n].first <= i && a[i].first <= j - i && a[j].first <= n - j) {
				for(int t = 1; t <= i; t++) ans[a[t].second] = 1;
				for(int t = i + 1; t <= j; t++) ans[a[t].second] = 2;
				for(int t = j + 1; t <= n; t++) ans[a[t].second] = 3;
				puts("YES");
				for(int t = 1; t <= n; t++) write(ans[t]);
				putchar('\n');
				return 0;
			}
		}
	}
	
	for(int i = 1; i <= n; i++) {
		for(int j = i + 1; j <= n; j++) {
			if(a[n].first <= j - i && a[i].first <= n - j && a[j].first <= j - i) {
				for(int t = 1; t <= i; t++) ans[a[t].second] = 3;
				for(int t = i + 1; t <= j; t++) ans[a[t].second] = 2;
				for(int t = j + 1; t <= n; t++) ans[a[t].second] = 1;
				puts("YES");
				for(int t = 1; t <= n; t++) write(ans[t]);
				putchar('\n');
				return 0;
			}
		}
	}
	puts("NO");
	return 0;
}
/*
10
5 3 2 2 3 2 5 3 3 3

*/

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 14
Accepted
time: 0ms
memory: 5312kb

input:

3
1 1 1

output:

YES
123

result:

ok Correct

Test #2:

score: 0
Accepted
time: 2ms
memory: 5376kb

input:

3
2 2 2

output:

NO

result:

ok Correct

Test #3:

score: 0
Accepted
time: 2ms
memory: 5312kb

input:

10
1 1 1 1 1 1 1 1 1 1

output:

YES
1233333333

result:

ok Correct

Test #4:

score: 0
Accepted
time: 2ms
memory: 5520kb

input:

10
3 3 3 3 3 3 3 3 3 3

output:

YES
1112223333

result:

ok Correct

Test #5:

score: -14
Wrong Answer
time: 2ms
memory: 5316kb

input:

10
4 4 4 4 4 4 4 4 4 4

output:

YES
3222211111

result:

wrong answer Max of group 2 (4) was bigger than size of the next group (1)

Subtask #2:

score: 0
Wrong Answer

Test #11:

score: 16
Accepted
time: 1ms
memory: 5368kb

input:

3
1 1 1

output:

YES
123

result:

ok Correct

Test #12:

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

input:

3
1 2 2

output:

NO

result:

ok Correct

Test #13:

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

input:

9
3 3 3 3 3 3 3 3 3

output:

YES
111222333

result:

ok Correct

Test #14:

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

input:

10
2 3 1 4 3 1 4 3 4 2

output:

YES
1213213331

result:

ok Correct

Test #15:

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

input:

10
1 9 5 4 3 9 4 6 5 1

output:

NO

result:

ok Correct

Test #16:

score: -16
Wrong Answer
time: 1ms
memory: 5400kb

input:

10
5 3 2 2 3 2 5 3 3 3

output:

YES
1232221211

result:

wrong answer Max of group 2 (3) was bigger than size of the next group (1)

Subtask #3:

score: 0
Wrong Answer

Test #24:

score: 11
Accepted
time: 2ms
memory: 5364kb

input:

4
1 1 1 1

output:

YES
1233

result:

ok Correct

Test #25:

score: 0
Accepted
time: 2ms
memory: 5544kb

input:

5
2 2 1 1 1

output:

YES
33112

result:

ok Correct

Test #26:

score: 0
Accepted
time: 2ms
memory: 5544kb

input:

3
3 1 1

output:

NO

result:

ok Correct

Test #27:

score: 0
Accepted
time: 39ms
memory: 14988kb

input:

500000
1 2 3 1 2 3 2 2 3 3 1 1 2 3 1 1 2 3 1 3 2 1 2 3 1 3 3 3 1 2 3 2 2 2 1 3 1 2 2 2 2 3 3 1 3 3 1 2 2 3 1 2 3 2 2 1 1 1 3 2 3 1 1 2 3 1 2 1 1 1 1 1 1 3 3 1 2 2 2 2 3 2 2 1 3 3 3 2 1 3 1 1 1 1 2 3 3 3 3 2 2 3 1 1 1 2 2 1 3 3 3 2 2 3 3 1 2 3 2 3 2 2 2 2 2 3 1 3 2 1 2 1 2 2 2 1 1 1 1 2 1 3 1 1 1 1 2...

output:

YES
13313333331233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333...

result:

ok Correct

Test #28:

score: 0
Accepted
time: 2ms
memory: 5360kb

input:

9
3 3 3 3 3 3 3 3 3

output:

YES
111222333

result:

ok Correct

Test #29:

score: 0
Accepted
time: 17ms
memory: 15032kb

input:

500000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...

output:

YES
12333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333...

result:

ok Correct

Test #30:

score: -11
Wrong Answer
time: 1ms
memory: 5256kb

input:

8
3 3 3 3 3 3 3 3

output:

YES
32221111

result:

wrong answer Max of group 2 (3) was bigger than size of the next group (1)

Subtask #4:

score: 0
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #1:

0%