7697 2024. 01. 10 13:37:55 Ablablabla Színezés cpp17 Elfogadva 50/50 500ms 6360 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 Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1976 KiB
2 Elfogadva 0/0 4ms 2204 KiB
3 Elfogadva 2/2 3ms 2320 KiB
4 Elfogadva 2/2 3ms 2480 KiB
5 Elfogadva 3/3 3ms 2700 KiB
6 Elfogadva 3/3 3ms 2940 KiB
7 Elfogadva 3/3 4ms 3032 KiB
8 Elfogadva 3/3 4ms 3048 KiB
9 Elfogadva 2/2 4ms 2984 KiB
10 Elfogadva 2/2 4ms 3112 KiB
11 Elfogadva 3/3 481ms 5616 KiB
12 Elfogadva 3/3 301ms 5704 KiB
13 Elfogadva 3/3 303ms 5636 KiB
14 Elfogadva 3/3 305ms 5632 KiB
15 Elfogadva 3/3 305ms 5632 KiB
16 Elfogadva 3/3 421ms 5632 KiB
17 Elfogadva 3/3 300ms 5888 KiB
18 Elfogadva 3/3 303ms 6264 KiB
19 Elfogadva 3/3 500ms 6068 KiB
20 Elfogadva 3/3 298ms 6360 KiB