Submission #1175120

#TimeUsernameProblemLanguageResultExecution timeMemory
1175120nuutsnoyntonTurnir (COCI17_turnir)C++20
100 / 100
363 ms35432 KiB
#include<bits/stdc++.h>

using namespace std;
using ll = long long;
ll a[1048578];
ll ans[1048578];
int main() {
	ll n, m, r, x, y, i, j, t;
	
	cin >> n;
	vector < pair < ll, ll > > v;	
	for (i = 0; i < (1<< n); i ++) {
		cin >> a[i];
		v.push_back(make_pair(a[i], i));
	}
	
	sort(v.begin(), v.end());
	
	for (i = 0; i < (1<< n); i ++) {
		j = i;
		vector < ll > inds;
		while (j < v.size() && v[j].first == v[i].first) {
			inds.push_back(v[j].second);
			j ++;
		}
		r = log2(j);
		for (ll X : inds) {
			ans[X] = r;
		}
		i = j - 1;
	}
	for (i = 0; i < (1<< n); i ++) {
		cout <<n -  ans[i] << " ";
	}
	
	cout << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...