답안 #668196

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
668196 2022-12-03T08:49:30 Z mdubaisi Zalmoxis (BOI18_zalmoxis) C++14
0 / 100
67 ms 28256 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 66 ms 28256 KB Execution killed with signal 11
2 Runtime error 64 ms 28176 KB Execution killed with signal 11
3 Runtime error 63 ms 28156 KB Execution killed with signal 11
4 Runtime error 63 ms 28156 KB Execution killed with signal 11
5 Runtime error 63 ms 28200 KB Execution killed with signal 11
6 Runtime error 63 ms 28236 KB Execution killed with signal 11
# 결과 실행 시간 메모리 Grader output
1 Runtime error 64 ms 28236 KB Execution killed with signal 11
2 Runtime error 63 ms 28156 KB Execution killed with signal 11
3 Runtime error 67 ms 28116 KB Execution killed with signal 11
4 Runtime error 63 ms 28132 KB Execution killed with signal 11
5 Runtime error 62 ms 28236 KB Execution killed with signal 11
6 Runtime error 65 ms 28164 KB Execution killed with signal 11
7 Runtime error 63 ms 28208 KB Execution killed with signal 11
8 Runtime error 66 ms 28236 KB Execution killed with signal 11
9 Runtime error 54 ms 26572 KB Execution killed with signal 11
10 Runtime error 30 ms 22620 KB Execution killed with signal 11
11 Runtime error 45 ms 24248 KB Execution killed with signal 11
12 Runtime error 17 ms 20228 KB Execution killed with signal 11
13 Runtime error 17 ms 20260 KB Execution killed with signal 11
14 Runtime error 17 ms 20216 KB Execution killed with signal 11