Submission #1089777

#TimeUsernameProblemLanguageResultExecution timeMemory
1089777SalihSahinKnjige (COCI20_knjige)C++14
0 / 50
18 ms2004 KiB
#include<bits/stdc++.h> #define pb push_back #define int long long using namespace std; const int mod = 1e9 + 7; const int inf = 1e9; const int N = 2048; vector<array<string, 3> > ans; void operation(int type, int hand, int shelf){ // take = 0, left = 0 array<string, 3> op; if(!type) op[0] = "UZMI"; else op[0] = "STAVI"; if(!hand) op[1] = "L"; else op[1] = "D"; if(!shelf) op[2] = "L"; else op[2] = "D"; ans.pb(op); } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin>>n; vector<int> a(n); vector<int> ls, rs; for(int i = 0; i < n; i++){ int x; cin>>x; ls.pb(x); a[i] = x; } //reverse(ls.begin(), ls.end()); sort(a.begin(), a.end()); for(int i = n-1; i >= 0; i--){ if(ls[i] == a[i]) continue; while(ls.size() > n-i-1){ if(ls.back() == a[i]){ operation(0, 1, 0); } else{ operation(0, 0, 0); rs.pb(ls.back()); operation(1, 0, 1); } ls.pop_back(); } operation(1, 1, 0); while(!rs.empty()){ operation(0, 0, 1); ls.pb(rs.back()); rs.pop_back(); operation(1, 0, 0); } } cout<<ans.size()<<endl; for(auto itr: ans){ cout<<itr[0]<<" "<<itr[1]<<" "<<itr[2]<<endl; } return 0; }

Compilation message (stderr)

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