Submission #1171584

#TimeUsernameProblemLanguageResultExecution timeMemory
1171584AlgorithmWarriorArt Collections (BOI22_art)C++20
100 / 100
785 ms524 KiB
#include <bits/stdc++.h>
#include "art.h"

using namespace std;

vector<int>get_ord(queue<int>q){
    vector<int>ans;
    while(!q.empty()){
        ans.push_back(q.front());
        q.pop();
    }
    return ans;
}

void solve(int N){
    queue<int>q;
    int i;
    for(i=1;i<=N;++i)
        q.push(i);
    int last=0;
    vector<int>ans(N,0);
    for(i=0;i<N;++i){
        vector<int>order=get_ord(q);
        int rez=publish(order);
        if(i){
            int delta=rez-last;
            int pos=(N-1-delta)/2;
            ans[pos]=i;
        }
        last=rez;
        q.push(q.front());
        q.pop();
    }
    for(i=0;i<N;++i)
        if(ans[i]==0)
            ans[i]=N;
    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...