fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. // Speed
  5. #define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
  6.  
  7. // Typedefs
  8. #define int long long
  9. #define pb push_back
  10. #define ff first
  11. #define ss second
  12. #define all(x) (x).begin(), (x).end()
  13. #define rall(x) (x).rbegin(), (x).rend()
  14. #define sz(x) ((int)(x).size())
  15. #define endl '\n'
  16. #define yes cout<<"yes\n"
  17. #define no cout<<"no\n"
  18.  
  19. // Loops
  20. #define rep(i,a,b) for(int i=a;i<b;++i)
  21. #define per(i,a,b) for(int i=b-1;i>=a;--i)
  22. #define each(x,a) for(auto& x:a)
  23.  
  24. // Consts
  25. const int INF=1e18;
  26. const int MOD=1e9+7;
  27. const int N=2e5+5;
  28.  
  29. // Math
  30. int gcd(int a,int b){ return b==0?a:gcd(b,a%b); }
  31. int lcm(int a,int b){ return (a/gcd(a,b))*b; }
  32.  
  33. int power(int a,int b,int m=MOD){
  34. int res=1;
  35. while(b>0){
  36. if(b&1) res=res*a%m;
  37. a=a*a%m;
  38. b>>=1;
  39. }
  40. return res;
  41. }
  42.  
  43. int modinv(int a,int m=MOD){
  44. return power(a,m-2,m);
  45. }
  46.  
  47. // Logic
  48. void solve(){
  49. int n,k;
  50. cin>>n>>k;
  51.  
  52. string s;
  53. cin>>s;
  54.  
  55. int count=0;
  56. for(char x:s){
  57. if(x=='1') count++;
  58. }
  59.  
  60. if(count%2){
  61. no;
  62. return;
  63. }
  64.  
  65. int i=-1,j=-1;
  66. int cnt1=0;
  67.  
  68. for(int g=0;g<n;g++){
  69. if(s[g]=='1'){
  70. cnt1++;
  71.  
  72. if(i==-1) i=g;
  73.  
  74. if(cnt1==count/2+1){
  75. j=g;
  76. break;
  77. }
  78. }
  79. }
  80.  
  81. if(k<=j-i) yes;
  82. else no;
  83. }
  84.  
  85. // Main
  86. int32_t main(){
  87. fast_io;
  88.  
  89. int t;
  90. cin>>t;
  91.  
  92. while(t--){
  93. solve();
  94. }
  95.  
  96. return 0;
  97. }
Success #stdin #stdout 0s 5308KB
stdin
5
4 2
1010
3 2
111
3 3
111
3 1
110
1 1
1
stdout
yes
no
no
yes
no