183512025-10-21 07:29:06szabelrSzínezéscpp17Hibás válasz 11/50428ms3476 KiB
#include <iostream>

using namespace std;
long long golyo[200001];
int main()
{
    long long n,q,v=0,vban=0,vhely;
    string x;
    cin>>n>>q;
    cin>>x;
    for(int i=1; i<=n; i++){
        if (x[i-1] == '0') {
            golyo[i] = 0;
        }
        else
            golyo[i] = 1;
    }
    for(int i=2; i<=n; i++){
        if(golyo[i-1]!=golyo[i]){
            if(vban==0){
                v++;
                vban=1;
            }else
            vban=0;
        }

    }

    cout<<v<<endl;
    for(int i=1; i<=q; i++){
        cin>>vhely;

        if(golyo[vhely]==1)
        {
            golyo[vhely]=0;

        }

        else
        {
            golyo[vhely]=1;

        }
        if(vhely!=n and vhely!=1){
            if(golyo[vhely-1]==golyo[vhely] and golyo[vhely+1]==golyo[vhely])
            v--;
        else if(golyo[vhely-1]!=golyo[vhely]  and golyo[vhely+1]!=golyo[vhely] )
            v++;
        }else
        {
            if(vhely==1 and golyo[2]!=golyo[1] and golyo[n]!=golyo[1])
                v--;
            else if(vhely==n and golyo[n]!=golyo[n-1] and golyo[n]!=golyo[1])
                v--;
        }

        cout<<v<<endl;
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base11/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/03ms316 KiB
3Elfogadva2/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/33ms316 KiB
8Hibás válasz0/33ms316 KiB
9Hibás válasz0/23ms316 KiB
10Hibás válasz0/23ms320 KiB
11Elfogadva3/3411ms3456 KiB
12Hibás válasz0/3428ms3332 KiB
13Hibás válasz0/3423ms3388 KiB
14Elfogadva3/3409ms3416 KiB
15Elfogadva3/3400ms3268 KiB
16Hibás válasz0/3418ms3348 KiB
17Hibás válasz0/3419ms3268 KiB
18Hibás válasz0/3402ms3476 KiB
19Hibás válasz0/3418ms3272 KiB
20Hibás válasz0/3402ms3372 KiB