Submission #1006577

#TimeUsernameProblemLanguageResultExecution timeMemory
1006577vjudge1Knjige (COCI20_knjige)C++17
0 / 50
30 ms1624 KiB
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int a[n], d[n]; for (int i = 0; i < n; i ++) cin >> d[i], a[i] = d[i]; sort(a, a + n); int cur = n - 1; int done = 0; vector<pair<string, pair<char, char>>> vec; stack<int> left, right; for (int i = n - 1; i >= 0; i --) left.push(d[i]); while (cur >= 0){ int l = -1, r = -1; bool taken = 0; while (left.size() != done){ int b = left.top(); left.pop(); if (b == a[cur] and !taken){ taken = 1; l = b; vec.push_back({"UZMI", {'L', 'L'}}); } else{ r = b; vec.push_back({"UZMI", {'R', 'L'}}); right.push(r); r = -1; vec.push_back({"STAVI", {'R', 'R'}}); } } vec.push_back({"STAVI", {'L', 'L'}}); left.push(l); l = -1; while (right.size()){ int b = right.top(); right.pop(); r = b; vec.push_back({"UZMI", {'R', 'R'}}); left.push(r); r = -1; vec.push_back({"STAVI", {'R', 'L'}}); } cur--; done++; } // for (int i = 0; i < n; i ++) // cout << d[i] << " "; // cout << endl; cout << vec.size() << endl; for (auto [s, P] : vec){ auto [x, y] = P; cout << s << " " << x << " " << y << endl; } }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:24:28: warning: comparison of integer expressions of different signedness: 'std::stack<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   24 |         while (left.size() != done){
      |                ~~~~~~~~~~~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...