Submission #636416

#TimeUsernameProblemLanguageResultExecution timeMemory
636416dozerTurnir (COCI17_turnir)C++14
100 / 100
1187 ms31144 KiB
#include <bits/stdc++.h>
using namespace std;
#define fileio() freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout)
#define fastio() cin.tie(0), ios_base::sync_with_stdio(0)
#define sp " "
#define endl "\n"
#define pb push_back
#define pii pair<int , int>
#define st first
#define nd second
#define N 2000005


int arr[N], o[N];
map<int, int> ans;

int32_t main()
{
	fastio();

	int n;
	cin>>n;
	int m = (1<<n);
	for (int i = 1; i <= m; i++)
	{
		cin>>arr[i];
		o[i] = arr[i];
	}

	sort(arr + 1, arr + 1 + m);

	for (int i = 1; i <= m; i++)
	{
		ans[arr[i]] = n;
		for (int j = n - 1; j >= 0; j--)
		{
			if ((i - 1) >= (1<<(j + 1)) - 1) 
			{
				ans[arr[i]] = n - j - 1;
				break;
			}
		}
	}


	for (int i = 1; i <= m; i++)
		cout<<ans[o[i]]<<sp;
	cout<<endl;

	cerr<<"time taken : "<<(float)clock() / CLOCKS_PER_SEC<<" seconds\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...