6985 2023. 12. 23 20:12:43 MagyarKendeSZLG Színezés cpp17 Elfogadva 50/50 57ms 4416 KiB
#include <iostream>
#include <vector>
using namespace std;
#define speed cin.tie(0); ios::sync_with_stdio(0)

int main() {
    speed;

    int N, Q;
    cin >> N >> Q;
    vector<bool> balls(N);
    for (int i = 0; i < N; i++) {
        char c;
        cin >> c;
        balls[i] = c == '1';
    }

    int z_sum = 0, o_sum = 0, i = 0;
    while (i < N) {
        if (balls[i]) o_sum++;
        else z_sum++;
        do {
            i++;
        } while (i < N && balls[i - 1] == balls[i]);
    }

    cout << min(z_sum, o_sum) << '\n';

    while (Q--) {
        if (N == 1) {
            cout << "0\n";
            continue;
        }

        int p;
        cin >> p;
        p--;
        if (!p) {
            if (balls[p + 1]) {
                z_sum += (balls[p] ? 1 : -1);
            } else {
                o_sum += (balls[p] ? -1 : 1);
            }
        }
        else if (p == N - 1) {
            if (balls[p - 1]) {
                z_sum += (balls[p] ? 1 : -1);
            } else {
                o_sum += (balls[p] ? -1 : 1);
            }
        }
        else if (balls[p - 1] == balls[p + 1]) {
            if (balls[p - 1] == balls[p]) {
                z_sum++;
                o_sum++;
            } else {
                z_sum--;
                o_sum--;
            }
        }

        balls[p] = !balls[p];

        cout << min(z_sum, o_sum) << '\n';
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 3ms 2032 KiB
3 Elfogadva 2/2 3ms 2384 KiB
4 Elfogadva 2/2 3ms 2500 KiB
5 Elfogadva 3/3 3ms 2812 KiB
6 Elfogadva 3/3 3ms 2880 KiB
7 Elfogadva 3/3 3ms 3140 KiB
8 Elfogadva 3/3 3ms 3100 KiB
9 Elfogadva 2/2 3ms 3260 KiB
10 Elfogadva 2/2 3ms 3260 KiB
11 Elfogadva 3/3 57ms 3496 KiB
12 Elfogadva 3/3 57ms 3620 KiB
13 Elfogadva 3/3 54ms 3836 KiB
14 Elfogadva 3/3 56ms 3832 KiB
15 Elfogadva 3/3 54ms 3840 KiB
16 Elfogadva 3/3 57ms 3920 KiB
17 Elfogadva 3/3 57ms 4128 KiB
18 Elfogadva 3/3 52ms 4328 KiB
19 Elfogadva 3/3 52ms 4240 KiB
20 Elfogadva 3/3 54ms 4416 KiB