Cho dãy \(N\) số nguyên không âm \(A_1, \dots, A_N\). Viết mỗi số dưới dạng nhị phân (không có chữ số \(0\) thừa ở đầu; riêng số \(0\) được viết là 0) rồi nối các xâu nhị phân lại theo đúng thứ tự của dãy, ta được một xâu bit \(S\).
Bạn được thực hiện tối đa \(K\) phép biến đổi. Mỗi phép biến đổi chọn một đoạn liên tiếp \([L, R]\) bất kỳ của \(S\) và đảo tất cả các bit trong đoạn (bit \(0\) thành \(1\), bit \(1\) thành \(0\)). Hãy tìm độ dài lớn nhất có thể của một đoạn liên tiếp chỉ gồm các bit \(1\) trong xâu sau khi biến đổi.
Input
- Dòng đầu tiên chứa hai số nguyên \(N\) và \(K\).
- Dòng thứ hai chứa \(N\) số nguyên \(A_1, \dots, A_N\).
Output
In ra một số nguyên là đáp án.
Constraints
- \(1 \le N \le 10\,000\).
- \(0 \le A_i \le 10^9\).
- \(0 \le K \le 100\,000\).
Sample Input
3 1
2 3 4
Sample Output
5
Explanation
Xâu ghép là 10 + 11 + 100 = 1011100. Đảo bit ở vị trí \(2\) cho 1111100, có đoạn \(1\) dài \(5\). Không thể đạt được \(6\) hoặc hơn chỉ với một phép đảo.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.