134242025-01-07 22:08:16csdavidSzínezéscpp17Elfogadva 50/50423ms1736 KiB
#include <iostream>

using namespace std;

int main()
{
    int n, b, q, valt=1;
    char x;
    cin >> n >> q;
    bool a[n];
    cin >> x;
    a[0]=x-'0';
    for(int i=1; i<n; i++){
        cin >> x;
        a[i]=x-'0';
        if(a[i]!=a[i-1]){
            valt++;
        }
    }
    cout << valt/2;
    for(int i=0;i<q; i++){
        cin >> b;
        b--;
        if(b==0){
            if(n>1&&a[1]==a[0]){
                valt++;
            }
            else if(n>1&&a[1]!=a[0]){
                valt--;
            }
        }
        else if(b==n-1){
            if(n>1&&a[b-1]==a[b]){
                valt++;
            }
            else if(n>1&&a[b-1]!=a[b]){
                valt--;
            }
        }
        else if(a[b-1]==a[b]){
            if(a[b+1]==a[b]){
                valt+=2;
            }
        }
        else if(a[b+1]!=a[b]){
            valt-=2;
        }
        a[b]=!a[b];
        cout << '\n' << valt/2;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/03ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms508 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms512 KiB
7Elfogadva3/33ms500 KiB
8Elfogadva3/33ms316 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva3/3423ms1692 KiB
12Elfogadva3/3421ms1692 KiB
13Elfogadva3/3409ms1568 KiB
14Elfogadva3/3409ms1564 KiB
15Elfogadva3/3418ms1584 KiB
16Elfogadva3/3418ms1684 KiB
17Elfogadva3/3407ms1736 KiB
18Elfogadva3/3407ms1588 KiB
19Elfogadva3/3400ms1696 KiB
20Elfogadva3/3418ms1588 KiB