ans = n; for(int i = 1;i <= n;i++) sum[i] = sum[i - 1] + (s[i] == '1'); if(!sum[n]) ans = 0; for(int i = 1;i <= n;i++){ f[i] = n; if(i - k >= 1) f[i] = min(f[i], f[i - k] + sum[i - 1] - sum[i - k]); f[i] = min(f[i], sum[i - 1]); f[i] += s[i] == '0'; ans = min(ans, f[i] + sum[n] - sum[i]); }