Submission #1093868

#TimeUsernameProblemLanguageResultExecution timeMemory
1093868DobromirAngelovLibrary (JOI18_library)C++14
0 / 100
33 ms604 KiB
#include "library.h" #include<bits/stdc++.h> using namespace std; const int MAXN=1005; int n; vector<int> m; bool used[MAXN]; int queryNot(int ind) { for(int i=0;i<n;i++) { m[i]=1; if(i==ind-1) m[i]=0; } return Query(m); } int query(vector<int> v) { for(int i=0;i<n;i++) m[i]=0; for(auto x: v) m[x-1]=1; return Query(m); } void Solve(int N) { n=N; m.resize(n); int st=0; for(int i=1;i<=n;i++) { if(queryNot(i)==1) { st=i; break; } } vector<int> res; res.push_back(st); used[st]=1; vector<int> pot; pot.reserve(n); for(int i=2;i<=n;i++) { pot.clear(); for(int j=1;j<=n;j++) { if(!used[j]) pot.push_back(j); } int nxt=0; for(int j=0;(1<<j)<=(int)pot.size();j++) { vector<int> cur; for(int k=0;k<(int)pot.size();k++) { if(k&(1<<j)) cur.push_back(pot[k]); } if((int)cur.size()<=0) continue; int cnt1=query(cur); cur.push_back(res.back()); int cnt2=query(cur); if(cnt1==cnt2) nxt|=(1<<j); } if(nxt<pot.size()) res.push_back(pot[nxt]); else cout<<1/0<<endl; used[res.back()]=1; } Answer(res); }

Compilation message (stderr)

library.cpp: In function 'void Solve(int)':
library.cpp:71:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |         if(nxt<pot.size()) res.push_back(pot[nxt]);
      |            ~~~^~~~~~~~~~~
library.cpp:72:21: warning: division by zero [-Wdiv-by-zero]
   72 |         else cout<<1/0<<endl;
      |                    ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...