Submission #965127

#TimeUsernameProblemLanguageResultExecution timeMemory
965127Darren0724Ancient Machine 2 (JOI23_ancient2)C++17
10 / 100
29 ms1536 KiB
#include "ancient2.h" //#include "grader.cpp" #include<bits/stdc++.h> using namespace std; const int lim=1002; string Solve(int N) { string ans; while(ans.size()<N){ vector<int> a,b; int sz=ans.size(); for(int i=0;i<sz;i++){ a.push_back(i+1); b.push_back(i+1); } int last=-1; int st=sz+1; int p=1; int bit=0; while(sz+bit<N&&st+p*2-1<lim){ for(int i=0;i<p;i++){ a.push_back(st++); b.push_back(st++); } bit++; last=st; p<<=1; //cout<<bit<<' '<<st<<' '<<p<<' '<<lim<<endl; } while(a.size()<lim){ a.push_back(a.size()); b.push_back(b.size()); } int r=Query(lim,a,b); r-=sz; string t; for(int i=0;i<bit;i++){ if(r&1){ t.push_back('0'); } else{ t.push_back('1'); } r=(r-1)/2; } reverse(t.begin(),t.end()); ans+=t; } //cout<<ans<<endl; return ans; }

Compilation message (stderr)

ancient2.cpp: In function 'std::string Solve(int)':
ancient2.cpp:8:18: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    8 |  while(ans.size()<N){
      |        ~~~~~~~~~~^~
ancient2.cpp:15:7: warning: variable 'last' set but not used [-Wunused-but-set-variable]
   15 |   int last=-1;
      |       ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...