# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
739171 | Unforgettablepl | Knjige (COCI20_knjige) | C++17 | 2 ms | 596 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/*
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 << "R ";
} else {
cout << "L ";
}
if(i[2]){
cout << "R\n";
} else {
cout << "L\n";
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |