Đoạn Đẹp

Xem PDF




Tác giả:
Dạng bài
Điểm: 2100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dãy \(a\) chỉ bao gồm \(0\) hoặc \(1\) (\(a_i\in \{0,1\}\)). Một dãy được gọi là đẹp nếu số lượng các số 0 bằng số lượng các số 1. Ví dụ \([0,0,1,1], [1,0,1,0]\) được gọi là đẹp còn \([0,0,0,0],[1,0,0,0]\) thì không.
Bạn được phép lật tối đa \(k\) phần tử (biến \(0\) thành \(1\) hoặc \(1\) thành \(0\))

Yêu cầu: Hãy tìm dãy đẹp có độ dài lớn nhất sau khi thực hiện tối đa \(k\) phép lật. In ra độ dài của dãy con dài nhất đó.

Input

  • Dòng đầu tiên gồm hai số nguyên dương \(n,k\).
  • Dòng thứ hai gồm \(n\) số nguyên \(a_1,a_2,a_3,...,a_n\) (\(a_i\in \{0,1\}\))
  • \(k\le n\le 2*10^5\)

Output

  • Gồm độ dài của dãy đẹp dài nhất sau khi thực hiện tối đa \(k\) phép lật.

Example

Test 1

Input
5 1
0 1 1 0 1
Output
4
Note

Có thể biến phần tử thứ \(2\) thành \(0\), dãy thành \([0,0,1,0,1]\). Dãy đẹp dài nhất là : \([0,1,0,1]\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.