Submission #1271322

#TimeUsernameProblemLanguageResultExecution timeMemory
1271322model_codeLibrary 3 (JOI24_library3)C++20
100 / 100
394 ms424 KiB
#include "library3.h"
#include <bits/stdc++.h>
using namespace std;

void solve(int n){
    vector<int>p(n);
    for(int i=0;i<n;i++)p[i]=i;
    for(int i=1;i<n;i++){
        int now=query(p);
        int no=-1,yes=i;
        while(yes-no>1){
            int mid=(no+yes)/2;
            vector<int>q=p;
            for(int j=0;j+1<=mid;j++)swap(q[j],q[j+1]);
            swap(q[mid],q[i]);
            if(now+mid>query(q))yes=mid;
            else no=mid;
        }
        if(yes<i)swap(p[yes],p[i]);
    }
    answer(p);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...