Submission #452045

#TimeUsernameProblemLanguageResultExecution timeMemory
452045PiejanVDCKnjige (COCI20_knjige)C++17
25 / 50
2 ms712 KiB
#include <bits/stdc++.h> using namespace std; signed main() { int n; cin>>n; vector<int>sorted(n); stack<int>l,r; for(int i = 0 ; i < n ; i++) { cin>>sorted[i]; } for(int i = n-1 ; i >= 0 ; i--) l.push(sorted[i]); vector<string>ans; // rechts ==> nemen // links ==> vasthouden int cnt=0; sort(sorted.rbegin(),sorted.rend()); bool f = true; for(int i = 0 ; i < n ; i++) { int t = sorted[i]; if(f) { for(int j = 0 ; j < n - i ; j++) { if(l.top() != t) r.push(l.top()), ans.push_back("UZMI D L\nSTAVI D D\n"),cnt+=2; else ans.push_back("UZMI L L\n"),cnt++; l.pop(); } ans.push_back("STAVI L L\n"); cnt++; l.push(t); f=false; } else { while(true) { if(r.top() == t) break; ans.push_back("UZMI D D\nSTAVI D L\n"); cnt+=2; l.push(r.top()); r.pop(); } ans.push_back("UZMI L D\n"); cnt++; r.pop(); while(l.size() > i) { r.push(l.top()); l.pop(); ans.push_back("UZMI D L\nSTAVI D D\n"); cnt+=2; } l.push(t); ans.push_back("STAVI L L\n"); cnt++; } } //while(!l.empty()) cout << l.top() << " ",l.pop(); cout << cnt << "\n"; //reverse(ans.begin(),ans.end()); for(auto z : ans) cout << z; return 0; }

Compilation message (stderr)

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