Submission #739172

#TimeUsernameProblemLanguageResultExecution timeMemory
739172UnforgettableplKnjige (COCI20_knjige)C++17
0 / 50
2 ms596 KiB
/* ID: samikgo1 TASK: LANG: C++ */ #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pii; #define all(x) x.begin(),x.end() #define allr(x) x.rbegin(),x.rend() //#define f first //#define s second //#define x first //#define y second const int INF = INT32_MAX; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); // freopen("measurement.in","r",stdin); // freopen("measurement.out","w",stdout); int n; cin >> n; vector<ll> arr(n); for(ll&i:arr)cin>>i; stack<ll> left; stack<ll> right; for (int i = n-1; i >= 0; i--) { left.emplace(arr[i]); } sort(all(arr)); vector<array<bool,3>> instructions; for (int i = 0; i < n; i++) { ll target = arr[i]; while(left.top()!=target){ // cout << "UZMI L L\nSTAVI L R\n"; instructions.push_back({false,false,false}); instructions.push_back({true,false,true}); right.emplace(left.top()); left.pop(); } // cout << "UZMI R L\n"; instructions.push_back({false,true,false}); while(!right.empty()){ // cout << "UZMI L R\nSTAVI L L\n"; instructions.push_back({false,false,true}); instructions.push_back({true,false,false}); left.emplace(right.top()); right.pop(); } // cout << "STAVI R R\n"; instructions.push_back({true,true,true}); } for (int i = 0; i < n; i++) { // cout << "UZMI L R\nSTAVI L L\n"; instructions.push_back({false,false,true}); instructions.push_back({true,false,false}); } cout << instructions.size() << '\n'; for(auto&i:instructions) { if(i[0]){ cout << "STAVI "; } else { cout << "UZMI "; } if(i[1]){ cout << "D "; } else { cout << "L "; } if(i[2]){ cout << "D\n"; } else { cout << "L\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...