Submission #550575

#TimeUsernameProblemLanguageResultExecution timeMemory
550575PherokungLibrary (JOI18_library)C++14
19 / 100
392 ms304 KiB
#include <cstdio> #include <vector> #include "library.h" #include<bits/stdc++.h> using namespace std; int adj[1005][2],st=0; void Solve(int n){ vector<int> res; if(n == 1){ res.push_back(1); Answer(res); return; } vector<int> M(n), K, K2; K = M; for(int i=1;i<=n;i++) K[i-1] = 1; for(int i=1;i<=n;i++){ K[i-1] = 0; if(Query(K) == 1){ st = i; break; } K[i-1] = 1; } int pos = st,pre = -1; for(int i=1;i<=n;i++){ res.push_back(pos); if(i == n) break; int be = 1, ed = n, mid, mi = 1e9, keep = pos; while(be <= ed){ mid = (be+ed)/2; K = M; for(int j=1;j<=mid;j++) if(j != pre) K[j-1] = 1; K2 = K; K[pos-1] = 1, K2[pos-1] = 0; int A; if(K2 == M) A = 0; else A = Query(K2); if(Query(K) <= A){ ed = mid - 1; mi = min(mi,mid); } else be = mid + 1; } pos = mi; pre = keep; } Answer(res); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...