Submission #1188945

#TimeUsernameProblemLanguageResultExecution timeMemory
1188945dianaArt Collections (BOI22_art)C++20
100 / 100
797 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;

int n, pr;
vector<int> ans;

int ask(int i)
{
    vector<int> a;
    a.push_back(ans[i]);
    for(int j=0; j<n; j++)
    {
        if(j==i)
            continue;
        a.push_back(ans[j]);
    }
    return publish(a);
}

void iev(int i, int b)
{
    int t = ans[i];
    for(int j=i; j>b; j--)
        ans[j] = ans[j-1];
    ans[b] = t;
}

void pli(int i)
{
    int tek = ask(i);
    int b = (tek - pr + i) / 2;
    iev(i, b);
    pr = pr - (i - b);
}

void solve(int N)
{
    n = N;
    for(int i=1; i<=N; i++)
        ans.push_back(i);

    pr = publish(ans);
    for(int i=1; i<n; i++)
        pli(i);

    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...