Submission #1157208

#TimeUsernameProblemLanguageResultExecution timeMemory
1157208the_ZHERArt Collections (BOI22_art)C++20
20 / 100
55 ms408 KiB
#include <bits/stdc++.h> #include "art.h" using namespace std; void solve(int N){ vector<int>ans; int pos[5000]; for(int i=1;i<=N;i++){ ans.push_back(i); pos[i]=i-1; } int was[5000]; for(int i=1;i<N;i++){ for(int j=1;j<=N;j++){ if(was[j]==1){ continue; } pos[ans[i-1]]=pos[j]; swap(ans[pos[j]],ans[i-1]); pos[j]=i-1; int x=publish(ans); vector<int>v1; for(int l=0;l<i-1;l++){ v1.push_back(ans[l]); } for(int l=i;l<ans.size();l++){ v1.push_back(ans[l]); } v1.push_back(j); int y=publish(v1); if(y-x==N-i){ was[j]=1; ans.clear(); int t=0; for(int l=0;l<i-1;l++){ ans.push_back(v1[l]); pos[v1[l]]=l; t++; } ans.push_back(v1[v1.size()-1]); pos[v1[v1.size()-1]]=i-1; t++; for(int l=i-1;l<v1.size()-1;l++){ ans.push_back(v1[l]); pos[v1[l]]=t; t++; } v1.clear(); break; } v1.clear(); } } 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...