QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#134849#6636. Longest Strictly Increasing SequenceTeam_name#AC ✓2ms3496kbC++20693b2023-08-05 09:20:272023-08-05 09:20:29

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-05 09:20:29]
  • 评测
  • 测评结果:AC
  • 用时:2ms
  • 内存:3496kb
  • [2023-08-05 09:20:27]
  • 提交

answer

#include <iostream>
#define no \
do\
{\
	std::cout << "NO\n";\
	return;\
}\
while (0)
constexpr int N = 10;
int a[N], b[N];
void solve()
{
	int n; std::cin >> n;
	for (int i = 0; i < n; ++i)
		std::cin >> b[i];
	if (!(b[0] == 1)) no;
	for (int i = 1; i < n; ++i)
		if (int d = b[i] - b[i - 1]; !(d == 0 || d == 1))
			no;
	a[0] = 1;
	int m = 1;
	for (int i = 1; i < n; ++i)
		if (b[i] == b[i - 1])
			a[i] = 1;
		else
			a[i] = ++m;
	std::cout << "YES\n";
	for (int i = 0; i < n; ++i)
		std::cout << a[i] << " ";
	std::cout << "\n";
}
int main()
{
	std::ios_base::sync_with_stdio(false), std::cin.tie(nullptr);
	int T; std::cin >> T;
	while (T--) solve();
}

詳細信息

Test #1:

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

input:

2
6
1 2 3 2 5 7
2
1 2

output:

NO
YES
1 2 

result:

ok t=2 (2 test cases)

Test #2:

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

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

result:

ok t=3483 (3483 test cases)