Đoạn Đẹp
Xem PDF
Đ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