Submission #405672

#TimeUsernameProblemLanguageResultExecution timeMemory
405672souvenir_vayneKnjige (COCI20_knjige)C++14
50 / 50
33 ms460 KiB
#include<bits/stdc++.h>

using namespace std;

int32_t main() {

    int n;
    cin >> n;

    long long ans = 0;
    for(int i = 0; i < n; i++)
        ans += 2 * (n - i) + 2*(n - i - 1);
    cout << ans << endl;

    stack<int> left, right;

    for(int i = 0; i < n; i++) {
        int x;
        cin >> x;
        left.push(x);
    }

    stack<int> aux;
    while(!left.empty()) {
        aux.push(left.top());
        left.pop();
    }

    left = aux;

    int did = 0;
    while(did < n) {

        int mn = 0;

        aux = left;
        while(!aux.empty()) {
            mn = max(mn, aux.top());
            aux.pop();
        }

        bool taken = false;
        for(int i = 0; i < n - did; i++) {
            if(left.top() == mn && !taken) {
                taken = true;
                cout << "UZMI L L" << endl;
            }
            else {
                cout << "UZMI D L" << endl << "STAVI D D" << endl;
                right.push(left.top());
            }
            left.pop();
        }

        did++;
        cout << "STAVI L L" << endl;


        while(!right.empty()) {
            cout << "UZMI D D" << endl << "STAVI D L" << endl;
            left.push(right.top());
            right.pop();
        }

    }

}
#Verdict Execution timeMemoryGrader output
Fetching results...