Submission #65186

#TimeUsernameProblemLanguageResultExecution timeMemory
65186spencercomptonZalmoxis (BOI18_zalmoxis)C++14
100 / 100
544 ms83568 KiB
#include <bits/stdc++.h> using namespace std; int n, k; void f(int now){ if(now==0 || k==0){ cout << " " << now; return; } k--; f(now-1); f(now-1); } int main(){ cin >> n >> k; vector<pair<int, int> > li; for(int i = 0; i<n; i++){ int x; cin >> x; li.push_back(make_pair(i,x)); } vector<pair<int, int> > cur; cur = li; vector<int> add[n]; int use = 0; for(int i = 0; i<30; i++){ vector<pair<int, int> > nxt; nxt.push_back(cur[0]); for(int j = 1; j<cur.size(); j++){ int bef = nxt.back().second; int now = cur[j].second; if(bef==i){ if(now==i){ nxt.back().second++; nxt.back().first = cur[j].first; } else{ nxt.back().second++; add[nxt.back().first].push_back(i); k--; use++; nxt.push_back(cur[j]); } } else{ nxt.push_back(cur[j]); } } if(nxt.back().second==i){ nxt.back().second++; add[nxt.back().first].push_back(i); k--; use++; } cur = nxt; } for(int i = 0; i<n; i++){ if(i>0){ cout << " "; } cout << li[i].second; for(int j = 0; j<add[i].size(); j++){ f(add[i][j]); } } cout << endl; }

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:28:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 1; j<cur.size(); j++){
                  ~^~~~~~~~~~~
zalmoxis.cpp:61:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0; j<add[i].size(); j++){
                  ~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...