답안 #668232

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
668232 2022-12-03T11:55:43 Z mdubaisi Zalmoxis (BOI18_zalmoxis) C++14
0 / 100
79 ms 28296 KB
#include <bits/stdc++.h>
#include <array>
#include <unordered_set>
#define ll long long
#define all(v) (v.begin()), (v.end())
#define setall(a, val) for(auto& x : a) x = val
clock_t start_time;
double get_time() { return (double)(clock() - start_time) / CLOCKS_PER_SEC; }
void init() {
#ifndef ONLINE_JUDGE
	FILE* _ = freopen("in.txt", "r", stdin);
	start_time = clock();
#endif
}
const ll MOD = 1e9 + 7;
const ll N = 5e6 + 7;
const ll M = 5e1 + 7;
using namespace std;
//####################################################################################

int n, k;
int a[N], pos;
vector< pair<bool, bool> > v; // {go to childeren, new node}
void create_tree(int x, int node) {
	if (pos >= n) {
		v[node] = { 0, 1 }, k--;
		return;
	}
	else if (!x || x == a[pos]) {
		v[node] = { 0, 0 };
		pos++;
		return;
	}
	else if (a[pos] < x) {
		create_tree(x - 1, node * 2);
		create_tree(x - 1, node * 2 + 1);
		v[node] = { 1, 0 };
	}
	else
		v[node] = { 0, 1 }, k--;
}

void print(int x, int t) {
	if (!t) {
		cout << x << ' ';
		return;
	}
	else if (x) {
		print(x - 1, 0);
		print(x - 1, t - 1);
	}
}

void solve(int x, int node) {
	if (!v[node].first) {
		print(x, k * v[node].second);
		k -= k * v[node].second;
		return;
	}
	else if (x) {
		solve(x - 1, node * 2);
		solve(x - 1, node * 2 + 1);
	}
}

int main() {
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); //init(); srand(time(0));

	cin >> n >> k;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	v.resize(N);
	create_tree(30, 1);
	solve(30, 1);
	cout << endl;

	//cerr << get_time() << "s" << endl;
}

Compilation message

zalmoxis.cpp: In function 'void init()':
zalmoxis.cpp:11:8: warning: unused variable '_' [-Wunused-variable]
   11 |  FILE* _ = freopen("in.txt", "r", stdin);
      |        ^
# 결과 실행 시간 메모리 Grader output
1 Runtime error 64 ms 28272 KB Execution killed with signal 11
2 Runtime error 71 ms 28192 KB Execution killed with signal 11
3 Runtime error 68 ms 28128 KB Execution killed with signal 11
4 Runtime error 73 ms 28212 KB Execution killed with signal 11
5 Runtime error 64 ms 28236 KB Execution killed with signal 11
6 Runtime error 64 ms 28236 KB Execution killed with signal 11
# 결과 실행 시간 메모리 Grader output
1 Runtime error 75 ms 28296 KB Execution killed with signal 11
2 Runtime error 72 ms 28156 KB Execution killed with signal 11
3 Runtime error 72 ms 28108 KB Execution killed with signal 11
4 Runtime error 71 ms 28220 KB Execution killed with signal 11
5 Runtime error 77 ms 28124 KB Execution killed with signal 11
6 Runtime error 67 ms 28148 KB Execution killed with signal 11
7 Runtime error 79 ms 28208 KB Execution killed with signal 11
8 Runtime error 72 ms 28140 KB Execution killed with signal 11
9 Runtime error 60 ms 26624 KB Execution killed with signal 11
10 Runtime error 31 ms 22612 KB Execution killed with signal 11
11 Runtime error 40 ms 24212 KB Execution killed with signal 11
12 Runtime error 16 ms 20308 KB Execution killed with signal 11
13 Runtime error 17 ms 20308 KB Execution killed with signal 11
14 Runtime error 19 ms 20308 KB Execution killed with signal 11