7951 2024. 01. 12 08:27:55 Ablablabla Táblajáték 2 (70 pont) cpp17 Elfogadva 70/70 3ms 4264 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

string elem = "0";

void hozzaad(){
    int ind = elem.size() - 1;

    while(ind >= 0 && elem[ind] == '2'){
        elem[ind] = '0';
        ind--;
    }

    if(ind == -1){
        elem = "1" + elem;
    } else{
        if(elem[ind] == '0'){
            elem[ind] = '1';
        } else{
            elem[ind] = '2';
        }
    }
}

void kivon(){
    int ind = elem.size() - 1;

    while(ind >= 0 && elem[ind] == '0'){
        elem[ind] = '2';
        ind--;
    }

    if(elem[ind] == '1'){
        elem[ind] = '0';

        while(elem[0] == '0'){
            elem.erase(elem.begin());
        }

        if(elem.size() == 0){
            elem = "0";
        }
    } else{
        elem[ind] = '1';
    }
}

int main()
{
    int k;
    cin >> k;

    int sor = 0;

    for(int i = 0; i < k; i++){
        int a;
        cin >> a;

        if(a == 0){
            sor++;
            elem += '0';

            if(elem == "00"){
                elem = "0";
            }
        } else if(a == 1){
            sor++;
            elem += '1';

            if(elem == "01"){
                elem = "1";
            }
        } else if(a == 2){
            sor++;
            elem += '2';

            if(elem == "02"){
                elem = "2";
            }
        } else if(a == 3){
            sor--;
            elem.pop_back();
            if(elem.size() == 0){
                elem = "0";
            }
        } else if(a == 4){
            kivon();
        } else{
            hozzaad();
        }
    }

    cout << sor << "\n";
    cout << elem << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 70/70
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 3ms 2060 KiB
3 Elfogadva 2/2 3ms 2140 KiB
4 Elfogadva 3/3 3ms 2228 KiB
5 Elfogadva 3/3 3ms 2472 KiB
6 Elfogadva 3/3 3ms 2652 KiB
7 Elfogadva 3/3 3ms 2864 KiB
8 Elfogadva 3/3 3ms 3076 KiB
9 Elfogadva 3/3 3ms 3156 KiB
10 Elfogadva 3/3 3ms 3288 KiB
11 Elfogadva 3/3 3ms 3368 KiB
12 Elfogadva 3/3 3ms 3408 KiB
13 Elfogadva 3/3 3ms 3636 KiB
14 Elfogadva 3/3 3ms 3872 KiB
15 Elfogadva 4/4 3ms 3984 KiB
16 Elfogadva 4/4 3ms 3956 KiB
17 Elfogadva 4/4 3ms 3884 KiB
18 Elfogadva 4/4 2ms 3856 KiB
19 Elfogadva 4/4 3ms 3976 KiB
20 Elfogadva 4/4 3ms 3988 KiB
21 Elfogadva 4/4 3ms 4216 KiB
22 Elfogadva 4/4 3ms 4264 KiB
23 Elfogadva 3/3 2ms 4260 KiB