Submission #1230792

#TimeUsernameProblemLanguageResultExecution timeMemory
1230792salmonLibrary (JOI18_library)C++20
0 / 100
0 ms420 KiB
#include <bits/stdc++.h> #include "library.h" using namespace std; bool done[1100]; void Solve(int N){ vector<int> M; for(int i = 0; i < N; i++) M.push_back(0); for(int i = 1; i <= N; i++){ done[i] = false; } done[1] = true; deque<int> ans = {1}; vector<int> left; for(int i = 0; i < N - 1; i++){ for(int i = 1; i <= N; i++){ if(!done[i]) left.push_back(done[i]); } while(left.size() != 1){ int sise = left.size(); vector<int> temp; for(int i = sise/2; i < sise; i++) temp.push_back(left[i]); for(int i = 0; i < N; i++) M[i] = 0; for(int i : temp) M[i-1] = 1; int num1 = Query(M); for(int i : ans) M[i - 1] = 1; if(Query(M) <= num1){ left = temp; } else{ for(int i : temp) left.pop_back(); } } int last = ans.back(); ans.pop_back(); for(int i = 0; i < N; i++) M[i] = 0; for(int i : ans) M[i - 1] = 1; M[left[0]] = 1; done[left[0]] = true; if(Query(M) == 1){ ans.push_back(last); ans.push_front(left[0]); } else{ ans.push_back(last); ans.push_back(left[0]); } } vector<int> sub; for(int i : ans) sub.push_back(i); Answer(sub); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...