76972024-01-10 13:37:55AblablablaSzínezéscpp17Accepted 50/50500ms6360 KiB
#include <bits/stdc++.h>

using namespace std;

int main(){
    int n, q;
    cin >> n >> q;

    string s;
    cin >> s;

    vector<int> szinek(n + 1, 0);
    szinek[1] = s[0] - '0';
    int valtas = 1;
    for(int i = 2; i <= n; i++){
        szinek[i] = s[i - 1] - '0';

        if(szinek[i] != szinek[i - 1]){
            valtas++;
        }
    }

    cout << valtas / 2 << "\n";

    for(int i = 0; i < q; i++){
        int a;
        cin >> a;

        szinek[a] = 1 - szinek[a];

        if(n == 1){
            valtas = 0;
        } else if(a == 1){
            valtas += (szinek[a] == szinek[a + 1] ? -1 : 1);
        } else if(a == n){
            valtas += (szinek[a] == szinek[a - 1] ? -1 : 1);
        } else{
            if(szinek[a - 1] == szinek[a + 1]){
                valtas += (szinek[a - 1] == szinek[a] ? -2 : 2);
            }
        }

        cout << valtas / 2 << "\n";
    }
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1976 KiB
2Accepted0/04ms2204 KiB
3Accepted2/23ms2320 KiB
4Accepted2/23ms2480 KiB
5Accepted3/33ms2700 KiB
6Accepted3/33ms2940 KiB
7Accepted3/34ms3032 KiB
8Accepted3/34ms3048 KiB
9Accepted2/24ms2984 KiB
10Accepted2/24ms3112 KiB
11Accepted3/3481ms5616 KiB
12Accepted3/3301ms5704 KiB
13Accepted3/3303ms5636 KiB
14Accepted3/3305ms5632 KiB
15Accepted3/3305ms5632 KiB
16Accepted3/3421ms5632 KiB
17Accepted3/3300ms5888 KiB
18Accepted3/3303ms6264 KiB
19Accepted3/3500ms6068 KiB
20Accepted3/3298ms6360 KiB