Submission #96413

#TimeUsernameProblemLanguageResultExecution timeMemory
96413MvCLibrary (JOI18_library)C++11
100 / 100
516 ms448 KiB
#pragma GCC optimize("O3") #include "library.h" #include<bits/stdc++.h> #define rc(x) return cout<<x<<endl,0 #define pb push_back #define in insert #define er erase #define fd find #define fr first #define sc second typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<62); const int inf=(1<<30); const int nmax=1e5+50; const int mod=1e9+7; using namespace std; int n,viz[1050]; int get(int rt) { vector<int>v; for(int i=1;i<=n;i++)if(!viz[i])v.pb(i); while((int)v.size()!=1) { vector<int>l,r,s(n,0); int mid=(int)v.size()/2; for(int i=0;i<mid;i++)l.pb(v[i]),s[v[i]-1]=1; for(int i=mid;i<v.size();i++)r.pb(v[i]); int x=Query(s); s[rt-1]=1; if(Query(s)==x)v=l; else v=r; } return v[0]; } void Solve(int N) { n=N; if(n==1) { Answer(vector<int>{1}); return; } int r; for(int i=1;i<=n;i++) { vector<int>v; for(int j=1;j<=n;j++) { if(i==j)v.pb(0); else v.pb(1); } if(Query(v)==1)r=i; } vector<int>ans; ans.pb(r); viz[r]=1; for(int i=2;i<=n;i++) { int nxt=get(r); ans.pb(nxt); r=nxt; viz[r]=1; } Answer(ans); } /*int main() { //freopen("sol.in","r",stdin); //freopen("sol.out","w",stdout); ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); return 0; }*/

Compilation message (stderr)

library.cpp: In function 'int get(int)':
library.cpp:29:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=mid;i<v.size();i++)r.pb(v[i]);
                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...