Binary Base Basics Solution || Codechef February Long Challenge 2022 - I

 

Binary Base Basics Solution 

Codechef February Long Challenge 2022 - I
Problem Code : BINBASBASIC

Solution :

#include <bits/stdc++.h>
#define ll long long int
#define ull unsigned long long int
using namespace std;

void solve()
{
    ll n, k;
    cin >> n >> k;
    string s;
    cin >> s;
    bool ans;
    if (n % 2 == 1)
    {
        ll badness = 0;
        for (ll i = 0; i < n / 2; i++)
        {
            if (s[i] != s[n - i - 1])
                badness++;
        }
        if (badness <= k)
        {
            ans = true;
        }
        else
        {
            ans = false;
        }
    }
    else
    {
        ll badness = 0;
        for (ll i = 0; i < n / 2; i++)
        {
            if (s[i] != s[n - i - 1])
                badness++;
        }
        if (badness == k)
            ans = true;
        else if (badness < k)
        {
            if ((k - badness) % 2 == 0)
                ans = true;
            else
                ans = false;
        }
        else
        {
            ans = false;
        }
    }
    if (ans)
    {
        cout << "YES\n";
    }
    else
    {
        cout << "NO\n";
    }
}

int main()
{
    ll t;
    cin >> t;
    while (t--)
    {
        solve();
    }
}

Comments