QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#213307#6636. Longest Strictly Increasing SequencesolemnteeAC ✓1ms3664kbC++17661b2023-10-14 13:41:462023-10-14 13:41:46

Judging History

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

  • [2023-10-14 13:41:46]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3664kb
  • [2023-10-14 13:41:46]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		bool flag=true;
		int n;
		scanf("%d",&n);
		vector<int>a(n+1);
		for(int i=1;i<=n;i++)scanf("%d",&a[i]);
		int maxx=0;

		vector<int>ans;
		ans.push_back(1);
		if(a[1]!=1)flag=false;
		maxx=1;
		for(int i=2;i<=n;i++){
			if(a[i]<maxx)flag=false;
			if(a[i]==maxx)ans.push_back(maxx);
			if(a[i]>maxx+1)flag=false;
			if(a[i]==maxx+1){
				maxx++;
				ans.push_back(maxx+1);
			}
		}
		if(flag){
			printf("YES\n");
			for(auto x:ans)printf("%d ",x);
			printf("\n");	
		}else printf("NO\n");
	}
	return 0;
}

详细

Test #1:

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

input:

2
6
1 2 3 2 5 7
2
1 2

output:

NO
YES
1 3 

result:

ok t=2 (2 test cases)

Test #2:

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

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
1 3 4 5 4 6 7 6 6 8 
YES
1 1 3 2 2 2 4 5 4 6 
NO
NO
NO
YES
1 3 2 2 2 2 2 4 3 3 
YES
1 1 3 4 5 6 5 5 5 7 
YES
1 3 4 5 6 5 7 6 8 
NO
NO
YES
1 3 4 3 3 3 5 4 4 6 
NO
NO
YES
1 3 2 4 5 4 4 4 6 5 
NO
NO
NO
NO
NO
NO
YES
1 1 1 3 2 4 3 5 4 
NO
NO
NO
NO
NO
NO
NO
YES
1 3 4 3 3 5 4 4 6 5 
YES
1 1 3 2 2...

result:

ok t=3483 (3483 test cases)