제출 #237801

#제출 시각아이디문제언어결과실행 시간메모리
237801marlicuTurnir (COCI17_turnir)C++14
100 / 100
1297 ms38368 KiB
#include <bits/stdc++.h>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    int _n;
    cin >> _n;

    int n = 1;
    for (int i = 0; i < _n; i++) n *= 2;

    vector <int> v;
    v.resize(n);
    vector <int> s;

    for (int i = 0; i < n; i++) {
        cin >> v[i];
        s.push_back(v[i]);
    }

    sort(s.begin(), s.end());
    /*
    for (int i = 0; i < n; i++) cout << v[i] << " ";
    cout << '\n';
    for (int i = 0; i < n; i++) cout << s[i] << " ";
    cout << '\n';
    */

    map <int, int> razina;

    int trenutno = _n + 1;
    for (int i = 1; i <= n; i++) {
        if (!(i & (i - 1))) trenutno--;
        //cout << i << " " << trenutno << '\n';
        razina[s[i - 1]] = trenutno;
    }

    for (int i = 0; i < n; i++) {
        cout << razina[v[i]] << " ";
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...