35772023-03-01 08:57:12AblablablaTáblajátékcpp17Elfogadva 50/503ms3868 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1808 KiB
2Elfogadva0/03ms2060 KiB
3Elfogadva3/33ms2300 KiB
4Elfogadva3/33ms2484 KiB
5Elfogadva3/33ms2696 KiB
6Elfogadva3/32ms2780 KiB
7Elfogadva3/33ms2868 KiB
8Elfogadva3/33ms3080 KiB
9Elfogadva3/32ms3164 KiB
10Elfogadva3/33ms3296 KiB
11Elfogadva3/33ms3440 KiB
12Elfogadva3/33ms3376 KiB
13Elfogadva4/43ms3372 KiB
14Elfogadva4/43ms3372 KiB
15Elfogadva4/43ms3620 KiB
16Elfogadva4/43ms3868 KiB
17Elfogadva4/43ms3796 KiB