Submission #1233798

#TimeUsernameProblemLanguageResultExecution timeMemory
1233798diparArt Collections (BOI22_art)C++20
70 / 100
759 ms552 KiB
#include "art.h"
#include <bits/stdc++.h>
using namespace std;

void solve(int N) {
    vector<int> rnk(N + 1);

    for (int i = 1; i <= N; i++) {
        vector<int> tmp;
        for (int j = 1; j < i; j++) tmp.push_back(j);
        for (int j = i + 1; j <= N; j++) tmp.push_back(j);

        vector<int> q1 = tmp, q2 = tmp;
        q1.insert(q1.begin(), i);
        q2.insert(q2.end(), i);

        int fi = publish(q1), se = publish(q2);
        rnk[i] = (se - fi + N - 1) / 2;
    }

    vector<int> p(N);
    for (int i = 1; i <= N; i++) p[rnk[i]] = i;
    reverse(p.begin(), p.end());
    answer(p);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...