209392026-01-11 15:21:35hunzombiSzínezéscpp17Elfogadva 50/50419ms2356 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    //ios::sync_with_stdio(false);
    //cin.tie(nullptr);

    int n, m;
    cin >> n >> m;
    vector<int> arr(n, 0), vals(2, 0);
    int oneGroup = 0, zeroGroup = 0;
    int prev = -1;
    for (int i = 0; i < n; i++) {
        char x;
        cin >> x;
        arr[i] = (int)x - '0';
        if (arr[i] != prev) {
            if (arr[i] == 0) vals[0]++;
            else vals[1]++;
        }
        prev = arr[i];
    }
    cout << min(vals[0], vals[1]) << '\n';

    if (n == 1) {
        for (int i=0; i < m; i++) {
            cout << 0 << '\n';
        }
    }

    for (int k=0; k < m; k++) {
        int i;
        cin >> i;
        i--;

        if (i == 0) {
            if (arr[i] != arr[i + 1]) {// what if arr[i] == arr[i - 1]
                vals[arr[i]]--;
            } else {
                vals[(arr[i] + 1) % 2]++;
            }
            arr[i] = (arr[i] + 1) % 2;
            cout << min(vals[0], vals[1]) << '\n';
            continue;
        }
        if (i == n - 1) {
            if (arr[i] != arr[i - 1]) {// what if arr[i] == arr[i - 1]
                vals[arr[i]]--;
            } else {
                vals[(arr[i] + 1) % 2]++;
            }
            arr[i] = (arr[i] + 1) % 2;
            cout << min(vals[0], vals[1]) << '\n';
            continue;
        }
        if (arr[i] != arr[i + 1] && arr[i] != arr[i - 1]) {
            vals[0]--;
            vals[1]--;
        }
        if (arr[i] == arr[i + 1] && arr[i] == arr[i - 1]) {
            vals[0]++;
            vals[1]++;
        }
        arr[i] = (arr[i] + 1) % 2;
        cout << min(vals[0], vals[1]) << '\n';
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/03ms316 KiB
3Elfogadva2/21ms512 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/33ms316 KiB
8Elfogadva3/33ms316 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva3/3409ms2288 KiB
12Elfogadva3/3418ms2348 KiB
13Elfogadva3/3416ms2260 KiB
14Elfogadva3/3407ms2224 KiB
15Elfogadva3/3418ms2224 KiB
16Elfogadva3/3407ms2224 KiB
17Elfogadva3/3418ms2336 KiB
18Elfogadva3/3405ms2244 KiB
19Elfogadva3/3419ms2356 KiB
20Elfogadva3/3402ms2356 KiB