713 2021. 11. 18 20:46:59 Valaki2 Színezés cpp14 Elfogadva 50/50 90ms 18916 KiB
#include <bits/stdc++.h>
using namespace std;

int n, q;
string s;
vector<int> v;
vector<int> cnt;

void solve() {
    cin >> n >> q >> s;
    v.assign(1 + n + 1, 0);
    for(int i = 1; i <= n; i++) {
        v[i] = s[i - 1] - '0';
    }
    v[0] = -1;
    v[n + 1] = -1;
    cnt.assign(2, 0);
    for(int i = 1; i <= n; i++) {
        if(v[i] != v[i - 1]) {
            cnt[v[i]]++;
        }
    }
    cout << min(cnt[0], cnt[1]) << "\n";
    while(q--) {
        int i;
        cin >> i;
        if(n == 1) {
            cout << "0\n";
            continue;
        }
        if(i == 1 || i == n) {
            int j = 0;
            if(i == 1) {
                j = 2;
            }
            if(i == n) {
                j = n - 1;
            }
            if(v[i] != v[j]) {
                cnt[v[i]]--;
            } else {
                cnt[1 - v[i]]++;
            }
            v[i] = 1 - v[i];
        } else {
            v[i] = 1 - v[i];
            if(v[i - 1] == v[i] && v[i + 1] == v[i]) {
                cnt[0]--;
                cnt[1]--;
            }
            if(v[i - 1] != v[i] && v[i + 1] == v[i]) {
                //
            }
            if(v[i - 1] == v[i] && v[i + 1] != v[i]) {
                //
            }
            if(v[i - 1] != v[i] && v[i + 1] != v[i]) {
                cnt[0]++;
                cnt[1]++;
            }
        }
        cout << min(cnt[0], cnt[1]) << "\n";
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    solve();
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1944 KiB
2 Elfogadva 0/0 2ms 2184 KiB
3 Elfogadva 2/2 1ms 2084 KiB
4 Elfogadva 2/2 1ms 2096 KiB
5 Elfogadva 3/3 1ms 2092 KiB
6 Elfogadva 3/3 8ms 2100 KiB
7 Elfogadva 3/3 1ms 2124 KiB
8 Elfogadva 3/3 1ms 2132 KiB
9 Elfogadva 2/2 1ms 2140 KiB
10 Elfogadva 2/2 1ms 2144 KiB
11 Elfogadva 3/3 56ms 5756 KiB
12 Elfogadva 3/3 52ms 7236 KiB
13 Elfogadva 3/3 90ms 8692 KiB
14 Elfogadva 3/3 54ms 10160 KiB
15 Elfogadva 3/3 57ms 11612 KiB
16 Elfogadva 3/3 54ms 13076 KiB
17 Elfogadva 3/3 54ms 14520 KiB
18 Elfogadva 3/3 57ms 16000 KiB
19 Elfogadva 3/3 56ms 17448 KiB
20 Elfogadva 3/3 52ms 18916 KiB