76972024-01-10 13:37:55AblablablaSzínezéscpp17Elfogadva 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";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1976 KiB
2Elfogadva0/04ms2204 KiB
3Elfogadva2/23ms2320 KiB
4Elfogadva2/23ms2480 KiB
5Elfogadva3/33ms2700 KiB
6Elfogadva3/33ms2940 KiB
7Elfogadva3/34ms3032 KiB
8Elfogadva3/34ms3048 KiB
9Elfogadva2/24ms2984 KiB
10Elfogadva2/24ms3112 KiB
11Elfogadva3/3481ms5616 KiB
12Elfogadva3/3301ms5704 KiB
13Elfogadva3/3303ms5636 KiB
14Elfogadva3/3305ms5632 KiB
15Elfogadva3/3305ms5632 KiB
16Elfogadva3/3421ms5632 KiB
17Elfogadva3/3300ms5888 KiB
18Elfogadva3/3303ms6264 KiB
19Elfogadva3/3500ms6068 KiB
20Elfogadva3/3298ms6360 KiB