16232022-11-30 06:00:28kovacs.peter.18fTáblajátékcpp11Futási hiba 46/507ms4068 KiB
#include <iostream>
#include <vector>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int K;
    cin >> K;
    int row = 0, count;
    vector<char> digitS { 0 };
    while (K--) {
        int L;
        cin >> L;
        switch (L) {
            case 0:
                ++row;
                // *2
                if (digitS[0]) {
                    digitS.push_back(0);
                }
                break;
            case 1:
                ++row;
                // *2+1
                if (digitS[0]) {
                    digitS.push_back(1);
                }
                else {
                    digitS[0] = 1;
                }
                break;
            case 2:
                --row;
                // /2
                if (digitS[0]) {
                    digitS.pop_back();
                }
                break;
            case 3:
                // -1
                for (count = 0; !digitS.back(); count++) {
                    digitS.pop_back();
                }
                if (digitS.size() == 1) {
                    digitS.pop_back();
                }
                else {
                    digitS.back() = 0;
                }
                while (count--) {
                    digitS.push_back(1);
                }
                break;
            case 4:
                // +1
                for (count = 0; !digitS.empty() && digitS.back(); count++) {
                    digitS.pop_back();
                }
                if (!digitS.empty()) {
                    digitS.back() = 1;
                }
                else {
                    digitS.push_back(1);
                }
                while (count--) {
                    digitS.push_back(0);
                }
                break;
        }
    }
    cout << row << '\n';
    for (auto e : digitS) {
        cout << (int)e;
    }
    cout << '\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base46/50
1Elfogadva0/03ms1700 KiB
2Elfogadva0/02ms1868 KiB
3Elfogadva3/32ms2088 KiB
4Elfogadva3/32ms2296 KiB
5Elfogadva3/32ms2480 KiB
6Elfogadva3/32ms2680 KiB
7Elfogadva3/32ms2880 KiB
8Elfogadva3/32ms2956 KiB
9Elfogadva3/32ms3192 KiB
10Elfogadva3/32ms3400 KiB
11Elfogadva3/32ms3496 KiB
12Elfogadva3/32ms3720 KiB
13Elfogadva4/42ms3804 KiB
14Elfogadva4/42ms3904 KiB
15Elfogadva4/42ms4000 KiB
16Elfogadva4/42ms4004 KiB
17Futási hiba0/47ms4068 KiB