35732023-03-01 08:42:05AblablablaTáblajátékcpp17Partially correct 45/503ms3556 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> szelesseg(1, 0);
    int melyseg = 0;
    bool csaknul = true;
    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;
    if(csaknul){
        cout << "0";
    } else{
        for(int i = 1; i < szelesseg.size(); i++){
            if(a){
                cout << szelesseg[i];
            } else if(!a && szelesseg[i] == 1){
                cout << szelesseg[i];
                a = true;
            }
        }
    }
}
SubtaskSumTestVerdictTimeMemory
base45/50
1Accepted0/03ms1808 KiB
2Accepted0/03ms2004 KiB
3Accepted3/33ms2212 KiB
4Accepted3/33ms2300 KiB
5Accepted3/33ms2428 KiB
6Accepted3/33ms2636 KiB
7Accepted3/33ms2892 KiB
8Accepted3/33ms2968 KiB
9Partially correct1/32ms2936 KiB
10Accepted3/33ms3064 KiB
11Accepted3/33ms3148 KiB
12Accepted3/33ms3304 KiB
13Accepted4/42ms3292 KiB
14Accepted4/43ms3300 KiB
15Accepted4/43ms3308 KiB
16Accepted4/43ms3304 KiB
17Partially correct1/43ms3556 KiB