35732023-03-01 08:42:05AblablablaTáblajátékcpp17Részben helyes 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;
            }
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/50
1Elfogadva0/03ms1808 KiB
2Elfogadva0/03ms2004 KiB
3Elfogadva3/33ms2212 KiB
4Elfogadva3/33ms2300 KiB
5Elfogadva3/33ms2428 KiB
6Elfogadva3/33ms2636 KiB
7Elfogadva3/33ms2892 KiB
8Elfogadva3/33ms2968 KiB
9Részben helyes1/32ms2936 KiB
10Elfogadva3/33ms3064 KiB
11Elfogadva3/33ms3148 KiB
12Elfogadva3/33ms3304 KiB
13Elfogadva4/42ms3292 KiB
14Elfogadva4/43ms3300 KiB
15Elfogadva4/43ms3308 KiB
16Elfogadva4/43ms3304 KiB
17Részben helyes1/43ms3556 KiB