74102024-01-08 15:54:12madvirTáblajátékcpp17Részben helyes 38/503ms3832 KiB
#include <iostream>
#include <set>
#include <string>

using namespace std;

int main()
{
    int k, lepes;
    cin >> k;
    /*p=1;
    for(int i=0; i<501; i++) {
        for(int j=0; j<p; j++) {
            sor[i]
        }
        p=p*2;
    }*/
    long long tartsor=0, tarthely=1;
    for(int i=0; i<k; i++) {
        cin >> lepes;
        if(lepes<2) {
            tartsor++;
            if(lepes==0) {
                tarthely=(tarthely-1)*2+1;
            }
            else {
                tarthely=tarthely*2;
            }
        }
        else {
            if(lepes==2) {
                tartsor--;
                if(tarthely%2==0) {
                    tarthely=tarthely/2;
                }
                else {
                    tarthely=tarthely/2+1;
                }
            }
            else {
                if(lepes==3) {
                    tarthely--;
                }
                if(lepes==4) {
                    tarthely++;
                }
            }
        }
    }
    cout << tartsor << endl;
    tarthely--;
    string kettes;

    if(tarthely==0) cout << 0;
    else {
        while(tarthely>0) {
            if(tarthely%2==1) {
                kettes="1"+kettes;
            }
            else {
                kettes="0"+kettes;
            }
            tarthely=(tarthely-tarthely%2)/2;
        }

        cout << kettes;
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/50
1Elfogadva0/03ms1684 KiB
2Elfogadva0/03ms1848 KiB
3Elfogadva3/33ms2056 KiB
4Elfogadva3/32ms2144 KiB
5Elfogadva3/33ms2416 KiB
6Részben helyes1/33ms2508 KiB
7Elfogadva3/33ms2716 KiB
8Elfogadva3/33ms2800 KiB
9Elfogadva3/33ms2800 KiB
10Részben helyes1/33ms2932 KiB
11Elfogadva3/33ms3128 KiB
12Részben helyes1/33ms3196 KiB
13Elfogadva4/43ms3192 KiB
14Részben helyes1/43ms3448 KiB
15Elfogadva4/43ms3536 KiB
16Részben helyes1/43ms3752 KiB
17Elfogadva4/43ms3832 KiB