#include <bits/stdc++.h>
#define speed ios::sync_with_stdio(0);cin.tie(0)
using namespace std;
int main() {
speed;
int n, q;
cin >> n >> q;
vector<int> v(n);
for (int i = 0; i < n; i++) {
char c; cin >> c;
v[i] = c == '1' ? 1 : 0;
}
int cnts[2] = { 0,0 };
cnts[v[0]]++;
for (int i = 1; i < n; i++) {
if (v[i - 1] != v[i]) cnts[v[i]]++;
}
cout << (cnts[0] + cnts[1]) / 2 << '\n';
while (q--) {
int k; cin >> k; k--;
if (k == 0) {
if (v[0] == v[1]) cnts[1 - v[0]]++;
else cnts[v[0]]--;
}
else if (k == n - 1) {
if (v[n - 1] == v[n - 2]) cnts[1 - v[n - 1]]++;
else cnts[v[n - 1]]--;
}
else if (v[k - 1] == v[k + 1]) {
if (v[k] == v[k - 1]) cnts[0]++, cnts[1]++;
else cnts[0]--, cnts[1]--;
}
v[k] = 1 - v[k];
cout << (cnts[0] + cnts[1]) / 2 << '\n';
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1828 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2232 KiB | |||
3 | Elfogadva | 2/2 | 2ms | 2256 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 2428 KiB | |||
5 | Elfogadva | 3/3 | 2ms | 2652 KiB | |||
6 | Elfogadva | 3/3 | 2ms | 2884 KiB | |||
7 | Elfogadva | 3/3 | 2ms | 3000 KiB | |||
8 | Elfogadva | 3/3 | 2ms | 2976 KiB | |||
9 | Elfogadva | 2/2 | 2ms | 3168 KiB | |||
10 | Elfogadva | 2/2 | 2ms | 3280 KiB | |||
11 | Elfogadva | 3/3 | 48ms | 4752 KiB | |||
12 | Elfogadva | 3/3 | 48ms | 4956 KiB | |||
13 | Elfogadva | 3/3 | 48ms | 4956 KiB | |||
14 | Elfogadva | 3/3 | 48ms | 4956 KiB | |||
15 | Elfogadva | 3/3 | 48ms | 5136 KiB | |||
16 | Elfogadva | 3/3 | 48ms | 5140 KiB | |||
17 | Elfogadva | 3/3 | 48ms | 5140 KiB | |||
18 | Elfogadva | 3/3 | 46ms | 5232 KiB | |||
19 | Elfogadva | 3/3 | 48ms | 5360 KiB | |||
20 | Elfogadva | 3/3 | 46ms | 5444 KiB |