71542023-12-31 22:14:40xxxTáblajáték 2 (70 pont)cpp17Részben helyes 42/703ms3480 KiB
#include <bits/stdc++.h>
using namespace std;

void kivonas(deque<int> &q) {
    int cnt = 0;
    while(true) {
        auto t = q.begin();
        q.pop_front();
        if (*t > 0) {
            q.push_front(*t-1);
            while(cnt--) {
                q.push_front(2);
            }
            return;
        } else {
            cnt++;
        }
    }
}

void hozzaad(deque<int> &q) {
    int cnt = 0;
    while(true) {
        auto t = q.begin();
        q.pop_front();
        if (*t < 2) {
            q.push_front(*t+1);
            while(cnt--) {
                q.push_front(0);
            }
            return;
        } else {
            cnt++;
        }
    }
}

int main() {
	ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int n;
    cin >> n;
    vector<int> a(n);

    int sum = 0;
    for(int &i : a) {
        cin >> i;
    }

    int sor = 0;
    deque<int> q;

    for(int i = 0; i < n; ++i) {
        if (a[i] == 0) {
            ++sor;
            q.push_front(0);
        } else if (a[i] == 1) {
            ++sor;
           q.push_front(1);
        } else if (a[i] == 2) {
            ++sor;
            q.push_front(2);
        } else if (a[i] == 3) {
            --sor;
            q.pop_front();
        } else if (a[i] == 4) {
            kivonas(q);
        } else if (a[i] == 5) {
            hozzaad(q);
        }
    }

    cout << sor << '\n';

    for(auto it = q.rbegin(); it != q.rend(); ++it) {
        cout << *it;
    }

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base42/70
1Elfogadva0/03ms2008 KiB
2Elfogadva0/03ms2144 KiB
3Részben helyes1/23ms2344 KiB
4Részben helyes1/33ms2216 KiB
5Részben helyes1/33ms2276 KiB
6Részben helyes1/33ms2504 KiB
7Elfogadva3/33ms2768 KiB
8Elfogadva3/33ms2640 KiB
9Elfogadva3/33ms2636 KiB
10Elfogadva3/33ms2828 KiB
11Részben helyes1/33ms2896 KiB
12Részben helyes1/33ms2996 KiB
13Elfogadva3/33ms2896 KiB
14Elfogadva3/33ms2892 KiB
15Elfogadva4/43ms3044 KiB
16Elfogadva4/43ms2964 KiB
17Részben helyes1/43ms3100 KiB
18Részben helyes1/43ms3268 KiB
19Részben helyes1/43ms3348 KiB
20Részben helyes1/43ms3352 KiB
21Részben helyes1/43ms3352 KiB
22Elfogadva4/43ms3356 KiB
23Részben helyes1/33ms3480 KiB