Submission #388905

#TimeUsernameProblemLanguageResultExecution timeMemory
388905denkendoemeerLibrary (JOI18_library)C++14
100 / 100
383 ms320 KiB
#include<bits/stdc++.h> #include "library.h" using namespace std; void Solve(int n) { vector<int>v(n,1),viz(n,0),a; if (n==1){ a={1}; Answer(a); return ; } int i; for(i=1;i<=n;i++){ v[i-1]--; if (Query(v)==1){ a.push_back(i); viz[i-1]=1; break; } v[i-1]++; } while(a.size()<n){ vector<int>aux; for(i=1;i<=n;i++) if (viz[i-1]==0) aux.push_back(i); int st=0,dr=aux.size(); while(dr-st>1){ int mij=(st+dr)/2; fill(v.begin(),v.end(),0); for(i=0;i<mij;i++) v[aux[i]-1]++; int val=Query(v); v[a.back()-1]++; if (Query(v)==val) dr=mij; else st=mij; } a.push_back(aux[st]); viz[aux[st]-1]++; } Answer(a); }

Compilation message (stderr)

library.cpp: In function 'void Solve(int)':
library.cpp:22:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   22 |     while(a.size()<n){
      |           ~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...