Submission #242571

#TimeUsernameProblemLanguageResultExecution timeMemory
242571WLZLibrary (JOI18_library)C++14
0 / 100
548 ms424 KiB
#include <bits/stdc++.h> #include "library.h" using namespace std; void Solve(int N) { vector<int> a(N, 1); vector<int> ans; set<int> st; for (int i = 1; i <= N; i++) { st.insert(i); } for (int i = 1; i <= N; i++) { a[i - 1] = 0; if (Query(a) == 1) { ans.push_back(i); st.erase(i); break; } a[i - 1] = 1; } for (int t = 0; t < N - 1; t++) { vector<int> b; for (auto& x : st) { b.push_back(x); } int l = 0, r = (int) b.size() - 1; while (l < r) { int mid = (l + r) / 2; a.assign(N, 0); for (int i = l; i <= mid; i++) { a[b[i] - 1] = 1; } int tmp1 = Query(a); a[ans.back() - 1] = 1; int tmp2 = Query(a); if (tmp1 < tmp2) { l = mid + 1; } else { r = mid; } } ans.push_back(b[l]); st.erase(b[l]); } Answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...