Gửi bài giải
Điểm:
800,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho dãy ~A~ gồm ~k~ phần tử, mỗi phần tử có giá trị nằm trong đoạn ~[1; n]~ và đôi một khác nhau. Tuy nhiên, có một phần tử đặc biệt có giá trị bằng 0. Bạn có thể gán bất cứ giá trị nào trong đoạn ~[1; n]~ cho phần tử này, sao cho giá trị đó khác với các phần tử còn lại trong dãy (việc gán này là bắt buộc). Sau đó, hãy tìm một dãy con dài nhất mà giá trị của các phần tử trong dãy là liên tiếp nhau.
Input
- Dòng đầu ghi hai số nguyên ~n, k~ ~(1 ≤ n ≤~ ~10~~5~~; 1 ≤ k ≤ n).~
- ~k~ dòng tiếp theo, mỗi dòng ghi giá trị của phần tử thứ ~k~.
Output
- In ra độ dài của dãy con dài nhất mà giá trị của các phần tử trong dãy là liên tiếp nhau.
Input
7 5
6
2
0
4
7
Output
4
Giải thích: Ta có thể gán giá trị 5 cho phần tử giá trị 0, khi đó dãy trở thành 6, 2, 5, 4, 7. Dễ thấy dãy con 6, 5, 4, 7 có các phần tử có giá trị liên tiếp nhau là 4, 5, 6, 7 và có độ dài 4.
Subtask:
- Subtask 1 (40% số điểm): ~n ≤ 100~
- Subtask 2 (30% số điểm): ~n ≤ 1000;~
- Subtask 3 (30% số điểm): ~n ≤~ ~10~~5~
Bình luận