fork download
  1. #include <iostream>
  2. #include <bits/c++io.h>
  3. using namespace std;
  4. int t; long long n,k;
  5. char c[(int)1e7];
  6. int main()
  7. {
  8. scanf("%d",&t);
  9. while(t--){
  10. scanf("%I64d%I64d",&n,&k);
  11. scanf("%s",&c);
  12. long long st=0,en=0,cnt=0,curr=0,ans=0;
  13. while(k==0 && en<n){
  14. while(c[en]=='1' && en<n) {cnt=0; en++;}
  15. while(c[en]=='0' && en<n) {cnt++; en++;}
  16. ans+=cnt;
  17. }
  18. if(k==0) {printf("%I64d\n",ans); continue;}
  19. while(en<n){
  20. curr+=(c[en]=='1');
  21. while(curr==k){
  22. cnt++;
  23. en++;
  24. if(c[en]=='1'||en==n) {st++;curr=0;en=st-1;break;}
  25. }
  26. en++;
  27. }
  28. printf("%I64d\n" ,cnt);
  29. }
  30. return 0;
  31. }
  32.  
Success #stdin #stdout 0s 25000KB
stdin
Standard input is empty
stdout
Standard output is empty