Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập chuoibitmot

Chuỗi bit một dài nhất

Dễ Thao tác bitHai con trỏ

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

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

Chưa có bình luận nào.