Submission #96717

#TimeUsernameProblemLanguageResultExecution timeMemory
96717Retro3014Library (JOI18_library)C++17
19 / 100
571 ms424 KiB
#include <cstdio> #include <vector> #include <iostream> #include <algorithm> #include <stdio.h> #include "library.h" using namespace std; int q(const vector<int>& M){ for(int i=0; i<M.size(); i++){ if(M[i]!=0){ return Query(M); } }return 0; } void Solve(int N){ vector<int> v(N); vector<int> ans(N); vector<bool> chk(N, 0); for(int i=0; i<N; i++){ v[i] = true; } for(int i=0; i<N; i++){ v[i] = false; int k = q(v); v[i] = true; if(k==1){ ans[0] = i; chk[i] = true; break; } } for(int i=1; i<N; i++){ int s = 0, e = N-1, m; while(s<e){ m = (s+e)/2; int k1, k2; for(int j=0; j<N; j++){ if(chk[j]){ v[j] = false; }else if(s<=j && j<=m){ v[j] = true; }else{ v[j] = false; } } k1 = q(v); for(int j=0; j<N; j++){ if(chk[j]){ v[j] = true; }else if(s<=j && j<=m){ v[j] = true; }else{ v[j] = false; } } k2 = q(v); if(k1==k2){ e = m; }else{ s = m+1; } } ans[i] = s; chk[s] = true; } for(int i=0; i<N; i++){ ans[i]++; // cout<<ans[i]<<' '<<endl; } Answer(ans); return; }

Compilation message (stderr)

library.cpp: In function 'int q(const std::vector<int>&)':
library.cpp:12:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<M.size(); i++){
               ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...