# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
861863 | 2023-10-17T05:26:40 Z | maks007 | Zalmoxis (BOI18_zalmoxis) | C++14 | 116 ms | 28716 KB |
#include "bits/stdc++.h" using namespace std; #define int long long int k; vector <pair <int,int>> ans; vector <int> a; void decomp(int v) { stack <int> q; vector <int> ans2; q.push(v); while(q.size() + ans2.size() != k + 1) { if(q.size() == 0) break; int v = q.top(); q.pop(); if(v == 0) { ans2.push_back(v); continue; } q.push(v-1); q.push(v-1); } k -= (int)q.size() + (int)ans2.size() - 1; while(q.size()) { int v =q.top(); q.pop(); ans2.push_back(v); } for(auto i : ans2) cout << i << " "; } void f(int v) { if(a.size() == 0) { ans.push_back({v, 1}); return; } if(v == a.back()) { ans.push_back({v,0}); a.pop_back(); return; } if(a.back() > v) { ans.push_back({v,1}); return; } f(v-1); f(v-1); } signed main () { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, cnt = 0; cin >> n >> k; for(int i = 0; i < n; i ++) { int x; cin >> x; a.push_back(x); } reverse(a.begin(), a.end()); f(30); // assert() // for(auto i : ans) cout << i.first << " "; for(auto i : ans) k -= i.second; // if(k < 0) { // while(1){} // } for(auto i : ans) { if(i.second == 0) cout << i.first << " "; else if(k){ decomp(i.first); }else cout << i.first << " "; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 106 ms | 27692 KB | Output is correct |
2 | Correct | 109 ms | 27692 KB | Output is correct |
3 | Correct | 110 ms | 28496 KB | Output is correct |
4 | Correct | 106 ms | 28480 KB | Output is correct |
5 | Correct | 109 ms | 27660 KB | Output is correct |
6 | Correct | 105 ms | 27704 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 108 ms | 27552 KB | Output is correct |
2 | Correct | 109 ms | 27960 KB | Output is correct |
3 | Correct | 116 ms | 28716 KB | Output is correct |
4 | Correct | 114 ms | 27696 KB | Output is correct |
5 | Correct | 107 ms | 27692 KB | Output is correct |
6 | Correct | 106 ms | 27944 KB | Output is correct |
7 | Correct | 106 ms | 27644 KB | Output is correct |
8 | Correct | 109 ms | 27960 KB | Output is correct |
9 | Correct | 108 ms | 27208 KB | Output is correct |
10 | Correct | 73 ms | 17460 KB | Output is correct |
11 | Correct | 85 ms | 22208 KB | Output is correct |
12 | Correct | 55 ms | 9392 KB | Output is correct |
13 | Correct | 53 ms | 8200 KB | Output is correct |
14 | Correct | 55 ms | 9628 KB | Output is correct |