7994 2024. 01. 12 09:50:08 BenedekMarton Színezés cpp17 Elfogadva 50/50 517ms 4772 KiB
#include <iostream>

using namespace std;

int main()
{
    int n, q, szk=1, v;
    cin >> n >> q;
    char c;
    bool g[n];
    cin.get();
    cin.get(c);
    g[0]=c-'0';
    for(int i=1; i<n; i++)
    {
        cin.get(c);
        g[i]=c-'0';
        if(g[i-1]!=g[i])
        {
            szk++;
        }
    }
    cout << szk/2 << endl;
    for(int i=0; i<q; i++)
    {
        cin >> v; v--;
        if(v==0)
        {
            if(g[1]!=g[0])
            {
                szk--;
                //cout << "k";
            }
            else
            {
                szk++;
                //cout << "h";
            }
        }
        else if(v==n-1)
        {
            if(g[n-1]!=g[n-2])
            {
                szk--;
                //cout << "c";
            }
            else
            {
                szk++;
                //cout << "a";
            }
        }
        else if(g[v-1]==g[v+1])
        {
            if(g[v]==g[v-1])
            {
                szk=szk+2;
                //cout << "b";
            }
            else
            {
                szk=szk-2;
                //cout << "p";
            }
        }
        cout << szk/2 << endl;
        g[v]=!g[v];
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2052 KiB
2 Elfogadva 0/0 6ms 2368 KiB
3 Elfogadva 2/2 3ms 2332 KiB
4 Elfogadva 2/2 3ms 2544 KiB
5 Elfogadva 3/3 3ms 2756 KiB
6 Elfogadva 3/3 3ms 2968 KiB
7 Elfogadva 3/3 4ms 3356 KiB
8 Elfogadva 3/3 4ms 3328 KiB
9 Elfogadva 2/2 4ms 3412 KiB
10 Elfogadva 2/2 4ms 3624 KiB
11 Elfogadva 3/3 291ms 4032 KiB
12 Elfogadva 3/3 310ms 4144 KiB
13 Elfogadva 3/3 296ms 4320 KiB
14 Elfogadva 3/3 451ms 4644 KiB
15 Elfogadva 3/3 477ms 4576 KiB
16 Elfogadva 3/3 287ms 4772 KiB
17 Elfogadva 3/3 517ms 4596 KiB
18 Elfogadva 3/3 442ms 4720 KiB
19 Elfogadva 3/3 499ms 4612 KiB
20 Elfogadva 3/3 510ms 4496 KiB