Submission #656586

#TimeUsernameProblemLanguageResultExecution timeMemory
656586haojiandan도서관 (JOI18_library)C++14
100 / 100
443 ms312 KiB
#include <bits/stdc++.h> #include "library.h" using namespace std; int n,p[1010],tot; int d[1010],vis[1010]; void Solve(int _n) { n=_n; if (n==1) { Answer({1}); return; } int x=-1; for (int i=1;i<=n;i++) { vector<int> Q(n); for (int j=1;j<=n;j++) Q[j-1]=1; Q[i-1]=0; if (Query(Q)==1) { x=i; break; } } d[1]=x,vis[x]=1; for (int i=2;i<=n;i++) { tot=0; for (int j=1;j<=n;j++) if (!vis[j]) p[++tot]=j; if (tot==1) { d[i]=p[1]; continue; } int l=1,r=tot,mid,res=-1; while (l<=r) { vector<int> Q(n); for (int j=1;j<=n;j++) Q[j-1]=0; int mid=(l+r)>>1; for (int j=1;j<=mid;j++) Q[p[j]-1]=1; int tmp=Query(Q); Q[d[i-1]-1]=1; tmp=abs(tmp-Query(Q)); if (tmp==0) res=mid,r=mid-1; else l=mid+1; } assert(res!=-1); x=p[res]; d[i]=x,vis[x]=1; } vector<int> ans(n); for (int i=1;i<=n;i++) ans[i-1]=d[i]; Answer(ans); }

Compilation message (stderr)

library.cpp: In function 'void Solve(int)':
library.cpp:22:17: warning: unused variable 'mid' [-Wunused-variable]
   22 |   int l=1,r=tot,mid,res=-1;
      |                 ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...