Submission #377373

#TimeUsernameProblemLanguageResultExecution timeMemory
377373VimmerKnjige (COCI20_knjige)C++14
0 / 50
306 ms27944 KiB
#include <bits/stdc++.h> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> //#pragma GCC optimize("unroll-loops") //#pragma GCC optimize("-O3") //#pragma GCC optimize("Ofast") #define N 100500 #define NN 1005000 #define PB push_back #define M ll(1e9 + 7) #define all(x) x.begin(), x.end() #define sz(x) int(x.size()) #define pri(x) cout << x << endl #define endl '\n' #define _ << " " << #define F first #define S second using namespace std; //using namespace __gnu_pbds; //typedef tree <int, null_type, less <int>, rb_tree_tag, tree_order_statistics_node_update> oredered_set; typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef short int si; int main() { ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen("1.in", "r", stdin); int n; cin >> n; vector <int> a(n); for (int i = 0; i < n; i++) cin >> a[i]; int j = 0; vector <array <int, 3> > vr; vr.clear(); while (1) { j = 0; while (j < n) { if (j + 1 != n && a[j + 1] < a[j]) { int u = sz(a) - 1; vector <int> b; b.clear(); while (u > j) { b.PB(a.back()); vr.PB({0, 0, 0}); vr.PB({1, 0, 1}); a.pop_back(); u--; } int x = a.back(); a.pop_back(); vr.PB({0, 1, 0}); while (sz(b)) { a.PB(b.back()); b.pop_back(); vr.PB({0, 0, 1}); vr.PB({1, 0, 0}); } a.PB(x); vr.PB({1, 1, 0}); break; } j++; } if (j == n) break; } string st[2] = {"UZMI", "STAVI"}; string t[2] = {"L", "D"}; pri(sz(vr)); for (auto it : vr) { pri(st[it[0]] _ t[it[1]] _ t[it[2]]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...