Submission #1177176

#TimeUsernameProblemLanguageResultExecution timeMemory
1177176abdalrhman_sfarArt Collections (BOI22_art)C++20
50 / 100
377 ms456 KiB
#include<bits/stdc++.h>
#include "art.h"
using namespace std;
void solve(int N) {
    int n=N;
    vector<int> v(n);
    iota(v.begin(),v.end(),1);
    int c=publish(v);
    int i,j;
    for (i=1;i<n;++i){
        int l=-1,r=i,k=c;
        vector<int> ar(v);
        while (l+1<r) {
            int mid=(l+r)>>1;
            vector<int> a(v);
            int s=(i-mid);
            for (j=i-1;j>=mid;--j) swap(a[j],a[j+1]);
            int x=publish(a);
            if ((c-x)==s) r=mid,k=x,ar=a;
            else l=mid;
        } c=k,v=ar;
        if (c==0) {answer(v); return; }
    } answer(v);
}
#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...