Submission #61796

#TimeUsernameProblemLanguageResultExecution timeMemory
61796kingpig9Library (JOI18_library)C++11
19 / 100
2012 ms572 KiB
#include <bits/stdc++.h> #include "library.h" using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 1010; #define debug(...) fprintf(stderr, __VA_ARGS__) #define fi first #define se second #define all(v) (v).begin(), (v).end() #define fillchar(a, s) memset((a), (s), sizeof(a)) int N; vector<int> getmsk (vector<int> v) { vector<int> m(N); for (int i : v) { m[i] = true; } return m; } bool has[MAXN]; int query() { return Query(vector<int> (has, has + N)); } void Solve (int nnn) { N = nnn; deque<int> dq = {0}; has[0] = true; for (int i = 1; i < N; i++) { //find the one adjacent vector<int> poss; for (int j = 1; j < N; j++) { if (!has[j]) { poss.push_back(j); } } int val = -1; for (int j = 0; j + 1 < poss.size(); j++) { int x = poss[j]; has[x] = true; if (query() == 1) { val = x; break; } has[x] = false; } if (val == -1) { val = poss.back(); has[val] = true; } //which one is it now? bool isbck = false; if (dq.size() > 1) { //maybe it's true! if (Query(getmsk(vector<int> {dq.back(), val})) == 1) { isbck = true; } } if (isbck) { dq.push_back(val); } else { dq.push_front(val); } } for (int &x : dq) { x++; } Answer(vector<int> (all(dq))); }

Compilation message (stderr)

library.cpp: In function 'void Solve(int)':
library.cpp:47:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int j = 0; j + 1 < poss.size(); j++) {
                   ~~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...