Submission #1188885

#TimeUsernameProblemLanguageResultExecution timeMemory
1188885ricardsjansonsArt Collections (BOI22_art)C++20
20 / 100
55 ms408 KiB
#include "art.h" #include <bits/stdc++.h> using namespace std; vector<int>a; void mv(vector<int>&a,int i,int j){ rotate(a.begin()+min(i,j),a.begin()+i+(i<j),a.begin()+max(i,j)+1); } void ms(int l=0,int r=a.size()-1){ if(l==r){ return; } if(r-l==1){ int c1=publish(a); swap(a[l],a[r]); int c2=publish(a); if(c1<c2){ swap(a[l],a[r]); } return; } int mid=(l+r)/2; ms(l,mid); ms(mid+1,r); int c=publish(a); for(int i=mid+1;i<=r;i++){ for(int j=i;j>l;j--){ swap(a[j],a[j-1]); int _c=publish(a); if(_c>c){ swap(a[j],a[j-1]); l=j; break; } c=_c; } } } void solve(int N) { a=vector<int>(N); iota(a.begin(),a.end(),1); ms(0,N-1); answer(a); }
#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...