141102025-01-09 20:04:39csdavidTáblajátékcpp17Accepted 50/501ms512 KiB
#include <iostream>
using namespace std;

struct binary_number{
    bool a[500];
    void zero(){
        for(auto& it:a){
            it=0;
        }
        return;
    }
    void write(){
        bool x=0;
        for(auto& it:a){
            if(it){
                x=1;
            }
            if(x){
                cout << it;
            }
        }
        if(!x){
            cout << 0;
        }
        return;
    }
    long long decimal(){
        long long first=-1, x=0;
        for(int i=0; i<500; i++){
            if(a[i]){
                first=i;
                break;
            }
        }
        if(first==-1){
            first=500;
        }
        for(int i=499; i>=first; i--){
            x=x*2+a[i];
        }
        return x;
    }
    void multiply(){
        for(int i=0; i<499; i++){
            a[i]=a[i+1];
        }
        a[499]=0;
        return;
    }
    void divide(){
        for(int i=499; i>0; i--){
            a[i]=a[i-1];
        }
        return;
    }
    void add(){
        int i=499;
        while(a[i]){
            a[i]=0;
            i--;
        }
        a[i]=1;
        return;
    }
    void substract(){
        int i=499;
        while(!a[i]){
            a[i]=1;
            i--;
        }
        a[i]=0;
        return;
    }
    void exe(int q){
        if(q==0){
            multiply();
        }
        if(q==1){
            multiply();
            add();
        }
        if(q==2){
            divide();
        }
        if(q==3){
            substract();
        }
        if(q==4){
            add();
        }
    }
};

int main()
{
    binary_number x;
    int sor=0, k;
    x.zero();
    int q;
    cin >> k;
    while(k--){
        cin >> q;
        x.exe(q);
        if(q==0||q==1){
            sor++;
        }
        else if(q==2){
            sor--;
        }
    }
    cout << sor << '\n';
    x.write();
    cout << '\n';
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms512 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted3/31ms316 KiB
9Accepted3/31ms332 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms508 KiB
13Accepted4/41ms316 KiB
14Accepted4/41ms508 KiB
15Accepted4/41ms316 KiB
16Accepted4/41ms316 KiB
17Accepted4/41ms316 KiB