/*
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";
}
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
340 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
2 |
Incorrect |
1 ms |
444 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
3 |
Incorrect |
2 ms |
468 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
4 |
Incorrect |
2 ms |
596 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
5 |
Incorrect |
2 ms |
596 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
6 |
Incorrect |
2 ms |
468 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
7 |
Incorrect |
1 ms |
212 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
8 |
Incorrect |
2 ms |
596 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
9 |
Incorrect |
2 ms |
596 KB |
Token "R" doesn't correspond to pattern "(L|D)" |
10 |
Incorrect |
2 ms |
448 KB |
Token "R" doesn't correspond to pattern "(L|D)" |