247532026-02-14 22:59:48999Táblajátékcpp17Accepted 50/501ms508 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
/*
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
*/
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int k;cin>>k;
    int sor=0;
    string oszlop="0";
    for(int i = 0;i<k;i++){
        int lepes;cin>>lepes;
        if(lepes==0){
            sor++;
            if(oszlop!="0")oszlop+='0';
        }
        if(lepes==1){
            sor++;
            if(oszlop!="0")oszlop+='1';
            else oszlop="1";
        }
        if(lepes==2){
            sor--;
            oszlop=oszlop.substr(0,oszlop.size()-1);
        }
        if(lepes==3){
            for(int j = oszlop.size()-1;j>=0;j--){
                if(oszlop[j]=='1'){
                    oszlop[j]='0';
                    break;
                }
                else{
                    oszlop[j]='1';
                }
            }
        }
        if(lepes==4){
            oszlop='0'+oszlop;
            for(int j = oszlop.size()-1;j>=0;j--){
                if(oszlop[j]=='0'){
                    oszlop[j]='1';
                    break;
                }
                else{
                    oszlop[j]='0';
                }
            }
        }
        while(oszlop[0]=='0'&&oszlop.size()>1)oszlop=oszlop.substr(1,oszlop.size()-1);
        //cout<<oszlop<<endl;
    }cout<<sor<<endl<<(sor==0?"0":oszlop)<<endl;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms416 KiB
8Accepted3/31ms316 KiB
9Accepted3/31ms508 KiB
10Accepted3/31ms392 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms508 KiB
13Accepted4/41ms316 KiB
14Accepted4/41ms316 KiB
15Accepted4/41ms500 KiB
16Accepted4/41ms424 KiB
17Accepted4/41ms316 KiB