답안 #668197

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
668197 2022-12-03T08:50:24 Z mdubaisi Zalmoxis (BOI18_zalmoxis) C++14
0 / 100
341 ms 262144 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 = 1e8 + 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 325 ms 262144 KB Execution killed with signal 11
2 Runtime error 299 ms 262144 KB Execution killed with signal 11
3 Runtime error 305 ms 262144 KB Execution killed with signal 11
4 Runtime error 291 ms 262144 KB Execution killed with signal 11
5 Runtime error 300 ms 262144 KB Execution killed with signal 11
6 Runtime error 303 ms 262144 KB Execution killed with signal 11
# 결과 실행 시간 메모리 Grader output
1 Runtime error 335 ms 262144 KB Execution killed with signal 11
2 Runtime error 299 ms 262144 KB Execution killed with signal 11
3 Runtime error 341 ms 262144 KB Execution killed with signal 11
4 Runtime error 294 ms 262144 KB Execution killed with signal 11
5 Runtime error 330 ms 262144 KB Execution killed with signal 11
6 Runtime error 294 ms 262144 KB Execution killed with signal 11
7 Runtime error 291 ms 262144 KB Execution killed with signal 11
8 Runtime error 300 ms 262144 KB Execution killed with signal 11
9 Runtime error 309 ms 262144 KB Execution killed with signal 11
10 Runtime error 272 ms 262144 KB Execution killed with signal 11
11 Runtime error 284 ms 262144 KB Execution killed with signal 11
12 Runtime error 261 ms 262144 KB Execution killed with signal 11
13 Runtime error 268 ms 262144 KB Execution killed with signal 11
14 Incorrect 136 ms 195916 KB Unexpected end of file - int32 expected