28882023-02-01 19:37:53UnluckYSzínezéscpp11Hibás válasz 17/50462ms5980 KiB
/*

00001


0101

101010
01010


01010

*/

#include <bits/stdc++.h>

using namespace std;

int main(){

    ios_base::sync_with_stdio(0); cin.tie(0);

    int n, q; cin >> n >> q;
    vector<bool> v;
    vector<int> qs;
    string x; cin >> x;
    for (char i : x){
        if (i == '0') v.push_back(false);
        if (i == '1') v.push_back(true);
    }

    for (int i = 0; i < q; i++){
        int x; cin >> x;
        qs.push_back(x-1);
    }

    vector<bool> v2;
    bool e = !v[0];

    for (bool i : v){
        if (i != e) v2.push_back(i);
        e = i;
    }

    int m = v2.size()/2;
    
    cout << m << endl;

    for (int i : qs){
        v[i] = !v[i];
        if (i == 0){
            if (v[1] != v[i] && v[i] != v[n-1]) m++;
        }
        else if (i == n-1){
            if (v[n-2] != v[i] && v[i] != v[0]) m++;
        }
        else if (v[i-1] != v[i] && v[i+1] != v[i]){
            m++;
        }
        else if (v[i-1] == v[i] && v[i+1] == v[i]){
            m--;
        }
        cout << m << endl;
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base17/50
1Elfogadva0/03ms1828 KiB
2Elfogadva0/04ms2176 KiB
3Elfogadva2/22ms2100 KiB
4Hibás válasz0/23ms2332 KiB
5Elfogadva3/32ms2312 KiB
6Elfogadva3/33ms2444 KiB
7Hibás válasz0/34ms2664 KiB
8Hibás válasz0/34ms2752 KiB
9Hibás válasz0/24ms2756 KiB
10Hibás válasz0/24ms2752 KiB
11Elfogadva3/3462ms5460 KiB
12Hibás válasz0/3312ms5672 KiB
13Hibás válasz0/3310ms5760 KiB
14Elfogadva3/3284ms5756 KiB
15Elfogadva3/3317ms5860 KiB
16Hibás válasz0/3317ms5856 KiB
17Hibás válasz0/3300ms5856 KiB
18Hibás válasz0/3291ms5852 KiB
19Hibás válasz0/3301ms5856 KiB
20Hibás válasz0/3435ms5980 KiB