Cụi có một dãy gồm \(n\) số nguyên không âm \(a_1,a_2,\dots,a_n\) thỏa mãn:
- \(0 \le a_i \le m\);
- các phần tử đôi một khác nhau;
- có đúng một phần tử bằng \(0\).
Cụi được phép thay phần tử có giá trị \(0\) thành một giá trị bất kỳ trong đoạn \([0,m]\) sao cho giá trị mới không trùng với bất kỳ giá trị nào đã có trong dãy.
Sau khi thay, Cụi muốn tìm một dãy con (không nhất thiết liên tiếp) có các giá trị liên tiếp (tức là tồn tại \(x\) sao cho tập các giá trị trong dãy con đúng bằng \(\{x,x+1,\dots,x+\ell-1\}\)), và có độ dài lớn nhất có thể.
Yêu cầu. Hãy in ra độ dài lớn nhất của một dãy con liên tiếp có các giá trị liên tiếp có thể đạt được sau khi thay số \(0\) theo quy tắc trên.
Input
- Dòng đầu chứa hai số nguyên \(m, n\) \((1 \le n < m \le 10^6)\).
- Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,\dots,a_n\) (đôi một khác nhau, đúng một số bằng \(0\), và \(0 \le a_i \le m\)).
Output
- In ra một số nguyên là độ dài lớn nhất có thể.
Scoring
- (40%) \(1 \le n \le 100\);
- (30%) \(100 < n \le 1000\);
- (30%) \(1000 < n < 10^6\).
Input
%
8 5
8 2 0 5 7
Output
%
4
Notes
Trong ví dụ, có thể thay \(0\) bằng \(6\) để được dãy \(8,2,6,5,7\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.