1356 2022. 05. 22 15:33:59 nkdorka1212 Táblajáték cpp11 Elfogadva 50/50 2ms 1944 KiB
#include <bits/stdc++.h>

using namespace std;
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin>>n;
    vector<int>sor(n+1,0);
    vector<int>oszlop;
    oszlop.push_back(1);
    int s=0;
    for(int i=1;i<=n;i++)
    {
        int a;
        cin>>a;
        if(a==0)
        {
            s++;
            oszlop.push_back(0);
        }else if(a==1)
        {
            s++;
            oszlop.push_back(1);
        }else if(a==2)
        {
            s--;
            oszlop.pop_back();
        }else if((a==3 && oszlop[s]==0) || (a==4 && oszlop[s]==1))
        {
            int valt=oszlop[s];
            int k=s;
            while(oszlop[k]==valt)
            {
                oszlop[k]=1-valt;
                k--;
            }
            oszlop[k]=valt;
        }else
        {
            oszlop[s]=1-oszlop[s];
        }

    }
    cout<<s<<"\n";
    bool ok=false;
    for(int i=1;i<=s;i++)
    {
        if(oszlop[i]==1)
        {
            ok=true;
        }
        if(ok)
        {
            cout<<oszlop[i];
        }
    }
    if(!ok)
    {
        cout<<0;
    }
    cout<<"\n";

    return 0;
}

/*
6
0 1 4 2 1 0

*/
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1820 KiB
2 Elfogadva 0/0 1ms 1812 KiB
3 Elfogadva 3/3 1ms 1864 KiB
4 Elfogadva 3/3 1ms 1864 KiB
5 Elfogadva 3/3 1ms 1864 KiB
6 Elfogadva 3/3 1ms 1868 KiB
7 Elfogadva 3/3 1ms 1876 KiB
8 Elfogadva 3/3 1ms 1880 KiB
9 Elfogadva 3/3 1ms 1880 KiB
10 Elfogadva 3/3 1ms 1892 KiB
11 Elfogadva 3/3 1ms 1888 KiB
12 Elfogadva 3/3 1ms 1896 KiB
13 Elfogadva 4/4 1ms 1900 KiB
14 Elfogadva 4/4 1ms 1904 KiB
15 Elfogadva 4/4 1ms 1904 KiB
16 Elfogadva 4/4 1ms 1920 KiB
17 Elfogadva 4/4 1ms 1944 KiB