Submission #1177177

#TimeUsernameProblemLanguageResultExecution timeMemory
1177177abdalrhman_sfarArt Collections (BOI22_art)C++20
50 / 100
379 ms464 KiB
#include<bits/stdc++.h> #include "art.h" using namespace std; void solve(int N) { int n=N; vector<int> v(n),v1(n),v2(n); iota(v1.begin(),v1.end(),1); int i,j=1; for (i=n-1;i>=0;--i) v2[i]=(j++); int c1=publish(v1),c2=publish(v2),c; if (c1<=c2) v=v1,c=c1; else v=v2,c=c2; 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...