QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#487920#6636. Longest Strictly Increasing Sequenceucup-team052#AC ✓2ms3752kbC++14690b2024-07-23 12:44:372024-07-23 12:44:39

Judging History

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

  • [2024-07-23 12:44:39]
  • 评测
  • 测评结果:AC
  • 用时:2ms
  • 内存:3752kb
  • [2024-07-23 12:44:37]
  • 提交

answer

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

const int N = 15;

int a[N], b[N];
int T, n;

int main() {
	scanf("%d", &T);
	while (T--) {
		scanf("%d", &n);
		for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
		int l = 50, r = 50; a[1] = 50;
		if (b[1] != 1) {
			printf("NO\n");
			continue;
		}
		int flag = 0;
		for (int i = 2; i <= n; i++) {
			if (b[i] == b[i - 1]) {
				--l; a[i] = l;
			} else if (b[i] == b[i - 1] + 1) {
				++r; a[i] = r;
			} else {
				flag = 1;
				break;
			}
		}
		if (flag) {
			printf("NO\n");
		} else {
			printf("YES\n");
			for (int i = 1; i <= n; i++) printf("%d%c", a[i], i == n ? '\n' : ' ');
		}
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2
6
1 2 3 2 5 7
2
1 2

output:

NO
YES
50 51

result:

ok t=2 (2 test cases)

Test #2:

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

input:

3483
5
2 3 5 1 1
2
8 1
10
1 2 3 4 4 5 6 6 6 7
10
1 1 2 2 2 2 3 4 4 5
2
5 8
3
7 10 8
5
4 1 3 3 8
10
1 2 2 2 2 2 2 3 3 3
10
1 1 2 3 4 5 5 5 5 6
9
1 2 3 4 5 5 6 6 7
7
8 8 8 8 9 1 2
5
8 9 8 3 5
10
1 2 3 3 3 3 4 4 4 5
5
7 1 6 4 3
7
5 6 8 6 1 5 5
10
1 2 2 3 4 4 4 4 5 5
3
10 4 5
3
1 5 3
5
2 8 1 2 1
3
7 8 3...

output:

NO
NO
YES
50 51 52 53 49 54 55 48 47 56
YES
50 49 51 48 47 46 52 53 45 54
NO
NO
NO
YES
50 51 49 48 47 46 45 52 44 43
YES
50 49 51 52 53 54 48 47 46 55
YES
50 51 52 53 54 49 55 48 56
NO
NO
YES
50 51 52 49 48 47 53 46 45 54
NO
NO
YES
50 51 49 52 53 48 47 46 54 45
NO
NO
NO
NO
NO
NO
YES
50 49 48 51 47 5...

result:

ok t=3483 (3483 test cases)