5992 2023. 10. 11 17:40:14 Tina0731 Színezés cpp14 Elfogadva 50/50 522ms 19436 KiB
#include <iostream>

using namespace std;

int main()
{
    int n, k;
    cin>>n>>k;
    char t[n+1];
    // 0 - kek
    // 1 - piros
    int db[2];
    db[0]=0;
    db[1]=0;
    cin>>t[1];
    db[t[1]-'0']++;
    for(int i=2;i<=n;i++)
    {
        cin>>t[i];
        if(t[i]!=t[i-1])
            db[t[i]-'0']++;
    }
    //cout<<db[0]<<" "<<db[1]<<endl;
    cout<<min(db[1],db[0])<<endl;


    int ez;
    for(int i=0;i<k;i++)
    {

       cin>>ez;
       if(t[ez]=='1')
       {
            t[ez]='0';
            if(ez==1)
           {
               if(t[ez]==t[ez+1])
                    db[1]--;
                else
                    db[0]++;

           }
           else if (ez==n)
           {
               if(t[ez]==t[ez-1])
               {
                    db[1]--;

               }
                else
                    db[0]++;
           }
           else
            {
                if(t[ez]==t[ez-1] && t[ez]==t[ez+1])
                {
                    db[0]--;
                    db[1]--;
                }
                else if (t[ez]!=t[ez-1] && t[ez]!=t[ez+1])
                {
                    db[0]++;
                    db[1]++;
                }

            }
       }


       else
       {
            t[ez]='1';
            if(ez==1)
           {
               if(t[ez]==t[ez+1])
                    db[0]--;
                else
                    db[1]++;

           }
           else if (ez==n)
           {
               if(t[ez]==t[ez-1])
                    db[0]--;
                else
                    db[1]++;
           }
                      else
            {
                if(t[ez]==t[ez-1] && t[ez]==t[ez+1])
                {
                    db[1]--;
                    db[0]--;
                }
                else if (t[ez]!=t[ez-1] && t[ez]!=t[ez+1])
                {
                    db[0]++;
                    db[1]++;
                }

            }
       }
       //cout<<"kek: "<<db[0]<<endl<<"piros: "<<db[1]<<endl;
       //cout<<i+1<<". --> ";
       cout<<min(db[1],db[0])<<endl;

    }



    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2000 KiB
2 Elfogadva 0/0 4ms 2172 KiB
3 Elfogadva 2/2 3ms 2304 KiB
4 Elfogadva 2/2 2ms 2388 KiB
5 Elfogadva 3/3 3ms 2628 KiB
6 Elfogadva 3/3 3ms 2732 KiB
7 Elfogadva 3/3 4ms 2836 KiB
8 Elfogadva 3/3 4ms 2940 KiB
9 Elfogadva 2/2 4ms 3220 KiB
10 Elfogadva 2/2 4ms 3192 KiB
11 Elfogadva 3/3 522ms 5008 KiB
12 Elfogadva 3/3 501ms 6716 KiB
13 Elfogadva 3/3 518ms 8440 KiB
14 Elfogadva 3/3 474ms 10120 KiB
15 Elfogadva 3/3 455ms 11652 KiB
16 Elfogadva 3/3 300ms 13360 KiB
17 Elfogadva 3/3 435ms 14784 KiB
18 Elfogadva 3/3 300ms 16248 KiB
19 Elfogadva 3/3 474ms 17836 KiB
20 Elfogadva 3/3 504ms 19436 KiB