Submission #93068

#TimeUsernameProblemLanguageResultExecution timeMemory
93068Bodo171Cave (IOI13_cave)C++14
25 / 100
1035 ms652 KiB
#include "cave.h" #include <vector> #include <iostream> using namespace std; vector<int> useless; const int nmax=5005; int ask[nmax],ans[nmax],perm[nmax]; int n,x,poz; void incearca(int cate,int p) { int ret=0; for(int pu=12;pu>=0;pu--) if((ret+(1<<pu))<useless.size()) { for(int j=0;j<n;j++) ask[j]=ans[j]; for(int j=0;j<useless.size();j++) ask[useless[j]]=(1^p); for(int j=0;j<ret+(1<<pu);j++) ask[useless[j]]^=1; x=tryCombination(ask); if(x==-1||x<=cate) ret+=(1<<pu); } poz=useless[ret]; swap(useless[ret],useless.back()); useless.pop_back(); perm[poz]=cate;ans[poz]=p; } void exploreCave(int N) { /* ... */ n=N; for(int i=0;i<N;i++) useless.push_back(i); for(int i=0;i<N;i++) { for(int j=0;j<N;j++) ask[j]=ans[j]; x=tryCombination(ask); if(x!=-1&&x<=i) incearca(i,1); else incearca(i,0); } answer(ans,perm); }

Compilation message (stderr)

cave.cpp: In function 'void incearca(int, int)':
cave.cpp:13:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if((ret+(1<<pu))<useless.size())
            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
cave.cpp:17:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int j=0;j<useless.size();j++)
                     ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...