34002023-02-27 12:45:58AblablablaTáblajátékcpp11Részben helyes 38/503ms3808 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> lepesek(n, 0);
    int melyseg = 0;
    long long int szelesseg = 0;
    for(int i = 0; i < n; i++){
        cin >> lepesek[i];
        if(lepesek[i] == 0){
            melyseg++;
            //if(szelesseg != 0){
            szelesseg = szelesseg * 2;
            //}
        }else if(lepesek[i] == 1){
            melyseg++;
            szelesseg = szelesseg * 2 + 1;
        } else if(lepesek[i] == 2){
            melyseg--;
            szelesseg /= 2;
        } else if(lepesek[i] == 3){
            szelesseg--;
        } else{
            szelesseg++;
        }
    }

    //szelesseg = 100;
    vector<long long int> valasz;
    bool a = false;
    if(szelesseg == 0){
        a = true;
    }
    while(szelesseg > 0){
        long long int mar = szelesseg % 2;
        valasz.push_back(mar);
        szelesseg = szelesseg / 2;
    }

    cout  << melyseg << "\n";
    if(a){
        cout << "0";
    } else{
        for(int i = valasz.size() - 1; i >= 0; i--){
            cout << valasz[i];
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/50
1Elfogadva0/03ms1812 KiB
2Elfogadva0/03ms2016 KiB
3Elfogadva3/33ms2232 KiB
4Elfogadva3/33ms2468 KiB
5Elfogadva3/33ms2680 KiB
6Részben helyes1/33ms2864 KiB
7Elfogadva3/33ms2944 KiB
8Elfogadva3/33ms2944 KiB
9Elfogadva3/32ms2964 KiB
10Részben helyes1/33ms3084 KiB
11Elfogadva3/32ms3160 KiB
12Részben helyes1/33ms3300 KiB
13Elfogadva4/43ms3408 KiB
14Részben helyes1/43ms3596 KiB
15Elfogadva4/43ms3720 KiB
16Részben helyes1/43ms3680 KiB
17Elfogadva4/43ms3808 KiB