66252023-12-13 18:06:08Huni136Színezéscpp17Hibás válasz 0/50493ms4692 KiB
#include <iostream>
#include <fstream>
using namespace std;

int csere(char x)
{
    return (x=='1'?0:1);
}


int main()
{
    int n,qdb;
    cin>>n>>qdb;
    int reszdb[2]={0};
    string a;
    cin>>a;
    for(int i=1;i<n;i++)
    {
        if(a[i]!=a[i-1])
        {
            reszdb[a[i-1]-'0']++;
        }
    }
    reszdb[a[n-1]-'0']++;
    cout<<min(reszdb[0],reszdb[1])<<endl;
    //cout<<reszdb[0]<<" "<<reszdb[1]<<endl;
    int x;
    for(int i=1;i<=qdb;i++)
    {
        cin>>x;
        x--;
        if(n==1)
        {
            cout<<0;
        }
        else if(x==0)
        {
            if(a[x]==a[x+1])
            {
                a[x]=csere(a[x]);
                reszdb[a[x]]++;
            }
            else
            {
                reszdb[a[x]]--;
                a[x]=csere(a[x]);
            }
        }
        else if(x==n-1)
        {
            if(a[x]==a[x-1])
            {
                a[x]=csere(a[x]);
                reszdb[a[x]]++;
            }
            else
            {
                reszdb[a[x]]--;
                a[x]=csere(a[x]);
            }
        }
        else
        {
            if(a[x-1]==a[x+1])
            {
                if(a[x]==a[x-1])
                {
                    reszdb[a[x]]++;
                    a[x]=csere(a[x]);
                    reszdb[a[x]]++;
                }
                else
                {
                    reszdb[a[x]]--;
                    a[x]=csere(a[x]);
                    reszdb[a[x]]--;
                }
            }
        }
        //cout<<reszdb[0]<<" "<<reszdb[1]<<endl;
        cout<<min(reszdb[0],reszdb[1])<<endl;
    }

    
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/03ms1808 KiB
2Hibás válasz0/04ms2088 KiB
3Hibás válasz0/23ms2268 KiB
4Hibás válasz0/23ms2516 KiB
5Hibás válasz0/33ms2732 KiB
6Hibás válasz0/33ms2872 KiB
7Hibás válasz0/34ms2992 KiB
8Hibás válasz0/34ms3184 KiB
9Hibás válasz0/24ms3380 KiB
10Hibás válasz0/24ms3440 KiB
11Hibás válasz0/3293ms4384 KiB
12Hibás válasz0/3439ms4116 KiB
13Hibás válasz0/3419ms4120 KiB
14Hibás válasz0/3493ms4372 KiB
15Hibás válasz0/3430ms4460 KiB
16Hibás válasz0/3293ms4456 KiB
17Hibás válasz0/3298ms4460 KiB
18Hibás válasz0/3291ms4460 KiB
19Hibás válasz0/3286ms4524 KiB
20Hibás válasz0/3448ms4692 KiB