1404A - Balanced Bitstring - CodeForces Solution


implementation strings *1500

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0)
#define endl '\n'
#define int long long
#define ar array<int, 2>
#define arr array<int, 3>
const int N = 2e5 + 5, M = 2 * N;
const int inf = 0x3f3f3f3f;
int mod = 998244353; //1e9+7;
int t, n, m, k;

signed main()
{
    ios;
#ifdef DEBUG
    freopen("../1.in", "r", stdin);
#endif
    cin >> t;
    while (t--)
    {
        cin >> n >> k;
        string s;
        cin >> s;
        bool f = 1;
        for (int i = 0; i < n; ++i)
        {
            if (s[i%k] != '?' &&s[i] != '?' && s[i] != s[i % k])
            {
                f = 0;
                break;
            }
            if (s[i] != '?')
                s[i % k] = s[i];
        }
        int l = 0, r = 0;
        if (f)
        {
            for (int i = 0; i < k; ++i)
                if (s[i] == '0')
                    l++;
                else if(s[i]=='1')
                    r++;
        }
        cout << (f && l <= k / 2 && r <= k / 2 ? "YES" : "NO") << endl;
    }
};


Comments

Submit
0 Comments
More Questions

1363A - Odd Selection
131B - Opposites Attract
490C - Hacking Cypher
158B - Taxi
41C - Email address
1373D - Maximum Sum on Even Positions
1574C - Slay the Dragon
621A - Wet Shark and Odd and Even
1395A - Boboniu Likes to Color Balls
1637C - Andrew and Stones
1334B - Middle Class
260C - Balls and Boxes
1554A - Cherry
11B - Jumping Jack
716A - Crazy Computer
644A - Parliament of Berland
1657C - Bracket Sequence Deletion
1657B - XY Sequence
1009A - Game Shopping
1657A - Integer Moves
230B - T-primes
630A - Again Twenty Five
1234D - Distinct Characters Queries
1183A - Nearest Interesting Number
1009E - Intercity Travelling
1637B - MEX and Array
224A - Parallelepiped
964A - Splits
1615A - Closing The Gap
4C - Registration System