class Solution {
public:
int longestOnes(vector<int>& a, int k) {
int l=0, r=0, n=(int)a.size();
for (; r<n; ++r) {
if (a[r]==0) --k; // 用
if (k<0 && a[l++]==0) ++k; // 超標縮左;丟到0補回配額
}
return r - l; // 最終視窗即最長
}
};