59922023-10-11 17:40:14Tina0731Színezéscpp14Elfogadva 50/50522ms19436 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms2000 KiB
2Elfogadva0/04ms2172 KiB
3Elfogadva2/23ms2304 KiB
4Elfogadva2/22ms2388 KiB
5Elfogadva3/33ms2628 KiB
6Elfogadva3/33ms2732 KiB
7Elfogadva3/34ms2836 KiB
8Elfogadva3/34ms2940 KiB
9Elfogadva2/24ms3220 KiB
10Elfogadva2/24ms3192 KiB
11Elfogadva3/3522ms5008 KiB
12Elfogadva3/3501ms6716 KiB
13Elfogadva3/3518ms8440 KiB
14Elfogadva3/3474ms10120 KiB
15Elfogadva3/3455ms11652 KiB
16Elfogadva3/3300ms13360 KiB
17Elfogadva3/3435ms14784 KiB
18Elfogadva3/3300ms16248 KiB
19Elfogadva3/3474ms17836 KiB
20Elfogadva3/3504ms19436 KiB