3576 2023. 03. 01 08:57:12 Ablablabla Táblajáték cpp17 Elfogadva 50/50 3ms 4116 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> szelesseg;
    int melyseg = 0;
    bool csaknul = true;
    int le = 0;
    for(int i = 0; i < n; i++){
        int a;
        cin >> a;
        if(a == 0){
            szelesseg.push_back(0);
            melyseg++;
        } else if(a == 1){
            szelesseg.push_back(1);
            melyseg++;
            csaknul = false;
        } else if(a == 2){
            szelesseg.pop_back();
            melyseg--;
        } else if(a == 3){  //csökkentjük eggyel
            int j = szelesseg.size() - 1;
            while(j >= 0 && szelesseg[j] == 0){
                szelesseg[j] = 1;
                j--;
            }
            szelesseg[j] = 0;
            csaknul = false;
        } else if(a == 4){  //növeljük eggyel
            int j = szelesseg.size() - 1;
            while(j >= 0 && szelesseg[j] == 1){
                szelesseg[j] = 0;
                j--;
            }
            szelesseg[j] = 1;
            csaknul = false;
        }
    }

    cout << melyseg << "\n";
    bool a = false;
    for(int i = 0; i < szelesseg.size(); i++){
        if(a){
            cout << szelesseg[i];
        } else if(!a && szelesseg[i] == 1){
            cout << szelesseg[i];
            a = true;
        }
    }

    if(!a){
        cout << "0";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 3ms 2060 KiB
3 Elfogadva 3/3 3ms 2292 KiB
4 Elfogadva 3/3 3ms 2348 KiB
5 Elfogadva 3/3 3ms 2424 KiB
6 Elfogadva 3/3 3ms 2676 KiB
7 Elfogadva 3/3 3ms 2892 KiB
8 Elfogadva 3/3 3ms 3092 KiB
9 Elfogadva 3/3 3ms 3304 KiB
10 Elfogadva 3/3 3ms 3512 KiB
11 Elfogadva 3/3 2ms 3600 KiB
12 Elfogadva 3/3 3ms 3848 KiB
13 Elfogadva 4/4 3ms 3900 KiB
14 Elfogadva 4/4 3ms 3784 KiB
15 Elfogadva 4/4 3ms 4028 KiB
16 Elfogadva 4/4 3ms 4112 KiB
17 Elfogadva 4/4 3ms 4116 KiB