Submission #1188955

#TimeUsernameProblemLanguageResultExecution timeMemory
1188955dianaArt Collections (BOI22_art)C++20
100 / 100
811 ms496 KiB
#include "art.h"
#include <bits/stdc++.h>
#pragma GCC ooptimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
using namespace std;

void solve(int N)
{
    vector<int> ans, a;
    for(int i=1; i<=N; i++)
        ans.push_back(i);

    int pr = publish(ans);
    for(int i=1; i<N; i++)
    {
        a.assign(1, ans[i]);
        for(int j=0; j<N; (j==i-1 ? j+=2 : j++))
            a.push_back(ans[j]);

        int b = (publish(a) - pr + i) / 2, t = ans[i];
        for(int j=i; j>b; j--)
            ans[j] = ans[j-1];
        ans[b] = t;

        pr = pr - (i - b);
    }
    answer(ans);
}
#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...