답안 #636416

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
636416 2022-08-29T08:39:59 Z dozer Turnir (COCI17_turnir) C++14
100 / 100
1187 ms 31144 KB
#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";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 15 ms 1016 KB Output is correct
6 Correct 41 ms 2888 KB Output is correct
7 Correct 102 ms 4144 KB Output is correct
8 Correct 117 ms 3348 KB Output is correct
9 Correct 579 ms 20736 KB Output is correct
10 Correct 1187 ms 31144 KB Output is correct