1591 2022. 11. 28 18:46:05 kicsiboglar Színezés cpp11 Elfogadva 50/50 483ms 5928 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;

string s;
long long n,i,m,j,a,poz,db0,db1;
int main()
{
    ios::sync_with_stdio(false);
    cin>>n>>m>>s;
    vector <int> x(n+2,0);
    for (i=0;i<n;++i)
    {
        if (s[i]=='1') x[i+1]=1;
    }
     x[n+1]=x[n] xor 1;
    int db=0;
    if (x[1]==0) db0++;
    else db1++;
    for (i=2;i<=n+1;++i)
    {
        if (x[i]==x[i-1]) db++;
        else db=0;

        if (db==0)
        {
         if (i!=n+1)
         {
             if (x[i]==0) db0++;
             else db1++;
         }
        }
    }
    if (db0<db1) cout<<db0<<"\n";
    else cout<<db1<<"\n";

    for (i=1;i<=m;++i)
    {
        cin>>a;
        if (a==1)///eleje
        {
            if (x[2]!=x[1])
            {
                if (x[1]==0) db0--;
                else db1--;
            }
            else
            {
                if (x[1]==0) db1++;
                else db0++;
            }
        }
        else if (a==n)
        {
            if (x[n]!=x[n-1])
            {
               if (x[n]==0) db0--;
                else db1--;
            }
            else
            {
                if (x[n]==0) db1++;
                else db0++;
            }
        }
        else
        {
            if (x[a]==x[a-1])
            {
                if (x[a]==x[a+1])
                {
                    db0++;
                    db1++;
                }
            }
            else
            {
                if (x[a]!=x[a+1])
                {
                    db0--;
                    db1--;
                }
            }
        }
        x[a]=x[a] xor 1;
        if (db0<db1) cout<<db0<<"\n";
        else cout<<db1<<"\n";
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1824 KiB
2 Elfogadva 0/0 3ms 2248 KiB
3 Elfogadva 2/2 2ms 2124 KiB
4 Elfogadva 2/2 2ms 2328 KiB
5 Elfogadva 3/3 2ms 2528 KiB
6 Elfogadva 3/3 2ms 2628 KiB
7 Elfogadva 3/3 4ms 2840 KiB
8 Elfogadva 3/3 3ms 3060 KiB
9 Elfogadva 2/2 3ms 3040 KiB
10 Elfogadva 2/2 3ms 3036 KiB
11 Elfogadva 3/3 379ms 5076 KiB
12 Elfogadva 3/3 437ms 5080 KiB
13 Elfogadva 3/3 430ms 5308 KiB
14 Elfogadva 3/3 351ms 5520 KiB
15 Elfogadva 3/3 407ms 5716 KiB
16 Elfogadva 3/3 483ms 5668 KiB
17 Elfogadva 3/3 303ms 5684 KiB
18 Elfogadva 3/3 284ms 5668 KiB
19 Elfogadva 3/3 382ms 5668 KiB
20 Elfogadva 3/3 374ms 5928 KiB