# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
867454 | 2023-10-28T12:26:50 Z | 42kangaroo | Zalmoxis (BOI18_zalmoxis) | C++17 | 122 ms | 19008 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) { while (addInd < addBef.size() && addBef[addInd].first == i) { 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(addBef[addInd].second - j - 1); else out.push_back(addBef[addInd].second - j); } break; } } first = false; addInd++; } else { out.push_back(addBef[addInd++].second); } } out.push_back(a[i]); } for (auto e: out) { cout << e << " "; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 115 ms | 18564 KB | Output is correct |
2 | Correct | 112 ms | 18108 KB | Output is correct |
3 | Correct | 112 ms | 18108 KB | Output is correct |
4 | Correct | 111 ms | 18104 KB | Output is correct |
5 | Correct | 115 ms | 18108 KB | Output is correct |
6 | Correct | 110 ms | 18392 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 115 ms | 18328 KB | Unexpected end of file - int32 expected |
2 | Incorrect | 115 ms | 18360 KB | Unexpected end of file - int32 expected |
3 | Incorrect | 112 ms | 18348 KB | Unexpected end of file - int32 expected |
4 | Incorrect | 112 ms | 18360 KB | Unexpected end of file - int32 expected |
5 | Incorrect | 115 ms | 18132 KB | Unexpected end of file - int32 expected |
6 | Incorrect | 109 ms | 18240 KB | Unexpected end of file - int32 expected |
7 | Incorrect | 122 ms | 18368 KB | Unexpected end of file - int32 expected |
8 | Incorrect | 119 ms | 18220 KB | Unexpected end of file - int32 expected |
9 | Incorrect | 99 ms | 18220 KB | Unexpected end of file - int32 expected |
10 | Incorrect | 72 ms | 16280 KB | Unexpected end of file - int32 expected |
11 | Incorrect | 84 ms | 19008 KB | Unexpected end of file - int32 expected |
12 | Incorrect | 55 ms | 12480 KB | Unexpected end of file - int32 expected |
13 | Incorrect | 55 ms | 12216 KB | Unexpected end of file - int32 expected |
14 | Incorrect | 67 ms | 12316 KB | not a zalsequence |