Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define maxn 500009
- #define inf 1000000007
- #define llinf 1000000000000000007
- #define ff first
- #define ss second
- #define mp make_pair
- #define pb push_back
- #define mid(a,b) (a+b)/2
- #define endl "\n"
- #define sz size()
- #define MOD 1000000007
- //#define M 100000
- #define pii pair<int,int>
- #define all(x) x.begin(),x.end()
- #define tr(i, c) for(typeof((c).begin()) i = (c).begin(); i!=(c).end(); i++)
- using namespace std;
- typedef long long ll;
- //priority_queue < pii, vector< pii >, greater< pii > > Q;
- map< int, int > M;
- int a[maxn], b[maxn];
- int main(){
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- int n, x, y;
- cin>>n;
- for(int i=1; i<=(1<<n); i++)
- cin>>a[i], b[i] = a[i];
- sort(a+1, a+(1<<n)+1);
- for(int i=1; i<=(1<<n); i++){
- x = a[i];
- y = log2(i);
- M[x] = max(M[x], y);
- // cout<<x<<" "<<y<<endl;
- }
- for(int i=1; i<=(1<<n); i++)
- cout<<n-M[b[i]]<<" ";
- cout<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment