79882024-01-12 09:42:48BenedekMartonSzínezéscpp17Hibás válasz 0/50476ms4788 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 << 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]!=g[n-1])
            {
                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 << endl;
        g[v]=!g[v];
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/03ms1744 KiB
2Hibás válasz0/04ms1920 KiB
3Hibás válasz0/23ms1996 KiB
4Hibás válasz0/23ms2124 KiB
5Hibás válasz0/33ms2332 KiB
6Hibás válasz0/33ms2588 KiB
7Hibás válasz0/34ms2760 KiB
8Hibás válasz0/34ms2976 KiB
9Hibás válasz0/24ms3224 KiB
10Hibás válasz0/24ms3396 KiB
11Hibás válasz0/3294ms3800 KiB
12Hibás válasz0/3432ms3796 KiB
13Hibás válasz0/3476ms4112 KiB
14Hibás válasz0/3289ms4360 KiB
15Hibás válasz0/3416ms4200 KiB
16Hibás válasz0/3442ms4480 KiB
17Hibás válasz0/3465ms4420 KiB
18Hibás válasz0/3282ms4460 KiB
19Hibás válasz0/3367ms4544 KiB
20Hibás válasz0/3284ms4788 KiB