제출 #756402

#제출 시각아이디문제언어결과실행 시간메모리
756402sheldonZalmoxis (BOI18_zalmoxis)C++14
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> using namespace std; void solve() { ifstream cin ("zalmoxis.in"); ofstream cout ("zalmoxis.out"); int n, k; cin >> n >> k; vector<int> st = {(int) 1e9}; vector<int> a(n), ans; int done = 0; for (int i = 0; i < n; ++i) { cin >> a[i]; if (a[i] == st.back()) { st.push_back(a[i]); while (st.size() > 1 && st.back() == st[st.size() - 2]) { st.pop_back(); st.back()++; } } else if (a[i] > st.back()) { while (a[i] >= st.back()) { ans.push_back(st.back()); ++done; st.back()++; while (st.size() > 1 && st.back() == st[st.size() - 2]) { st.pop_back(); st.back()++; } } --done; ans.pop_back(); } else { st.push_back(a[i]); } ans.push_back(a[i]); } // while (st.size() != 2) { // ans.push_back(st.back()); // st.push_back(st.back()); // ++done; // while (st.size() > 1 && st.back() == st[st.size() - 2]) { // st.pop_back(); // st.back()++; // } // } // for (int it = st[1]; it < st[1] + k - done; ++it) { // ans.push_back(it); // } for (int x : ans) cout << x << ' '; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...