답안 #861853

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
861853 2023-10-17T05:11:01 Z maks007 Zalmoxis (BOI18_zalmoxis) C++14
0 / 100
130 ms 51316 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> st;
	st.push(v);
	if(k > (1 << v)) {
		k -= (1 << v);
		for(int i = 0; i < (1 << v); i ++) cout << 0 << " ";
		return;
	}
	while(1) {
		if(st.size() == k + 1) break;
		int v = st.top();
		st.pop();
		if(v == 0) {
			cout << 0 << " ";
			k --;
			continue;
		}
		st.push(v-1);
		st.push(v-1);
	}
	k -= st.size();
	while(!st.empty()) {
		cout << st.top() << " ";
		st.pop();
	}
}

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);
	for(auto i : ans) k -= i.second;
	for(auto i : ans) {
		if(i.second == 0) cout << i.first << " ";
		else if(k){
			decomp(i.first);
		}
	}
	return 0;
}

Compilation message

zalmoxis.cpp: In function 'void decomp(long long int)':
zalmoxis.cpp:20:16: warning: comparison of integer expressions of different signedness: 'std::stack<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   20 |   if(st.size() == k + 1) break;
      |      ~~~~~~~~~~^~~~~~~~
zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:59:9: warning: unused variable 'cnt' [-Wunused-variable]
   59 |  int n, cnt = 0;
      |         ^~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 101 ms 26176 KB Unexpected end of file - int32 expected
2 Incorrect 107 ms 25972 KB Unexpected end of file - int32 expected
3 Incorrect 103 ms 26400 KB Unexpected end of file - int32 expected
4 Incorrect 107 ms 27012 KB Unexpected end of file - int32 expected
5 Incorrect 102 ms 26152 KB Unexpected end of file - int32 expected
6 Incorrect 102 ms 26004 KB Unexpected end of file - int32 expected
# 결과 실행 시간 메모리 Grader output
1 Runtime error 92 ms 49196 KB Execution killed with signal 11
2 Incorrect 103 ms 26232 KB Unexpected end of file - int32 expected
3 Runtime error 77 ms 49712 KB Execution killed with signal 11
4 Runtime error 79 ms 50504 KB Execution killed with signal 11
5 Runtime error 86 ms 50480 KB Execution killed with signal 11
6 Runtime error 110 ms 51316 KB Execution killed with signal 11
7 Runtime error 130 ms 51244 KB Execution killed with signal 11
8 Runtime error 113 ms 49732 KB Execution killed with signal 11
9 Runtime error 71 ms 44132 KB Execution killed with signal 11
10 Runtime error 59 ms 26240 KB Execution killed with signal 11
11 Runtime error 78 ms 34396 KB Execution killed with signal 11
12 Runtime error 104 ms 4660 KB Execution killed with signal 11
13 Runtime error 102 ms 4688 KB Execution killed with signal 11
14 Runtime error 105 ms 4496 KB Execution killed with signal 11