# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
867458 | 2023-10-28T12:30:44 Z | 42kangaroo | Zalmoxis (BOI18_zalmoxis) | C++17 | 137 ms | 18764 KB |
// // Created by 42kangaroo on 28/10/2023. // #include "bits/stdc++.h" using namespace std; #define int long long signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, k; cin >> n >> k; vector<int> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } vector<pair<int,int>> addBef; stack<pair<int,int>> st; auto mergeBack= [&st](){ while (st.size()> 1){ auto t = st.top(); st.pop(); if (st.top().second == t.second) { st.top().second++; } else { st.push(t); break; } } }; for (int i = 0; i < n; ++i) { while (!st.empty() && st.top().second < a[i]) { addBef.push_back(st.top()); st.push({-1, st.top().second}); mergeBack(); } st.push({i, a[i]}); mergeBack(); } while (!st.empty() && st.top().second < 30) { addBef.push_back(st.top()); st.push({-1, st.top().second}); mergeBack(); } vector<int> out; int addInd = 0; bool first = true; assert(!addBef.empty()); for (int i = 0; i < n; ++i) { vector<int> hasTo; while (addInd < addBef.size() && addBef[addInd].first == i) { hasTo.push_back(addBef[addInd].second); addInd++; } std::reverse(hasTo.begin(), hasTo.end()); for (int q = 0; q < hasTo.size(); ++q) { if (first) { int ks = k - addBef.size() + 1; int p2 = 1; for (int j = 0; j <= 30; ++j, p2*= 2) { if (p2 >= ks) { for (int l = 0; l < ks; ++l) { if (l < p2 - ks - 1) out.push_back(hasTo[q] - j - 1); else out.push_back(hasTo[q] - j); } break; } } first = false; } else { out.push_back(hasTo[q]); } } out.push_back(a[i]); } for (auto e: out) { cout << e << " "; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 112 ms | 18128 KB | Output is correct |
2 | Correct | 112 ms | 18104 KB | Output is correct |
3 | Correct | 137 ms | 18116 KB | Output is correct |
4 | Correct | 112 ms | 18108 KB | Output is correct |
5 | Correct | 111 ms | 18116 KB | Output is correct |
6 | Correct | 136 ms | 18108 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 134 ms | 18212 KB | Unexpected end of file - int32 expected |
2 | Incorrect | 124 ms | 18624 KB | Unexpected end of file - int32 expected |
3 | Incorrect | 118 ms | 18416 KB | Unexpected end of file - int32 expected |
4 | Incorrect | 112 ms | 18624 KB | Unexpected end of file - int32 expected |
5 | Incorrect | 119 ms | 18360 KB | Unexpected end of file - int32 expected |
6 | Incorrect | 112 ms | 18108 KB | Unexpected end of file - int32 expected |
7 | Incorrect | 114 ms | 18296 KB | Unexpected end of file - int32 expected |
8 | Incorrect | 112 ms | 18112 KB | Unexpected end of file - int32 expected |
9 | Incorrect | 98 ms | 17976 KB | Unexpected end of file - int32 expected |
10 | Incorrect | 79 ms | 17208 KB | Unexpected end of file - int32 expected |
11 | Incorrect | 82 ms | 18764 KB | Unexpected end of file - int32 expected |
12 | Incorrect | 56 ms | 12248 KB | Unexpected end of file - int32 expected |
13 | Incorrect | 65 ms | 12564 KB | Unexpected end of file - int32 expected |
14 | Incorrect | 54 ms | 10700 KB | not a zalsequence |