1830 2022. 12. 04 15:50:23 kdb Színezés cpp11 Hibás válasz 10/50 448ms 6996 KiB
#include <iostream>
#include <vector>
#include <map>
#include <queue>
using namespace std;
#define ll long long

ostream& operator<<(ostream& os, vector<int>& input)
{
    for (auto i : input)
    {
        os << i << " ";
    }
    return os;
}

int main()
{
    cin.tie(nullptr);
    cout.tie(nullptr);
    ios_base::sync_with_stdio(false);
    int n, q;
    cin >> n >> q;
    vector<int>vec, d(2);
    string s; cin >> s;
    vec.push_back(s[0]-'0'); vec.push_back(s[0]-'0');
    for (int i = 1; i < s.size(); i++) vec.push_back(s[i] - '0');
    vec.push_back(1 - vec[n]);
    for (size_t i = 1; i < n + 1; i++) if (vec[i] != vec[i + 1]) d[vec[i]]++;
    cout << min(d[0], d[1]) << endl;
    while (q--) 
    {
        int a;
        cin >> a;
        if (a == 1 && vec[1] != vec[2])
        {
            d[vec[a]]--;
        }
        else if (a == 1 && vec[1] == vec[2])
        {
            d[1-vec[a]]++;
        }
        else if (a == n && vec[n] != vec[n-1])
        {
            d[vec[a]]++;
        }
        else if (a == n && vec[n] == vec[n-1])
        {
            d[1-vec[a]]--;
        }
        else if (vec[a - 1] == vec[a] && vec[a] == vec[a + 1])
        {
            d[0]++;
            d[1]++;
        }
        else if (vec[a - 1] == vec[a + 1] && vec[a] != vec[a + 1])
        {
            d[0]--;
            d[1]--;
        }
        vec[a] = 1 - vec[a];
        cout << min(d[0], d[1]) << endl;
    }
    return 0;
}
/*
5 3
01001
2
1
5

*/
Részfeladat Összpont Teszt Verdikt Idő Memória
base 10/50
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 4ms 2268 KiB
3 Elfogadva 2/2 2ms 2252 KiB
4 Hibás válasz 0/2 2ms 2456 KiB
5 Hibás válasz 0/3 2ms 2552 KiB
6 Hibás válasz 0/3 2ms 2756 KiB
7 Elfogadva 3/3 3ms 2992 KiB
8 Hibás válasz 0/3 4ms 3220 KiB
9 Elfogadva 2/2 3ms 3276 KiB
10 Hibás válasz 0/2 3ms 3468 KiB
11 Hibás válasz 0/3 233ms 6156 KiB
12 Hibás válasz 0/3 234ms 6060 KiB
13 Hibás válasz 0/3 263ms 6288 KiB
14 Elfogadva 3/3 314ms 6232 KiB
15 Hibás válasz 0/3 448ms 6308 KiB
16 Hibás válasz 0/3 444ms 6456 KiB
17 Hibás válasz 0/3 340ms 6396 KiB
18 Hibás válasz 0/3 230ms 6776 KiB
19 Hibás válasz 0/3 432ms 6996 KiB
20 Hibás válasz 0/3 240ms 6852 KiB