Submission #314652

#TimeUsernameProblemLanguageResultExecution timeMemory
314652jaaguptammeCave (IOI13_cave)C++14
0 / 100
571 ms460 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; void SW(int in[],int dn[],int ps){ for(int i=0;i<ps;i++){ if(dn[i]==0){ in[i]=1-in[i]; } } } /*int tryCombination(int in[]){ for(int i=0;i<sizeof in;i++){ cout<<in[i]<<' '; } cout<<endl; int vl;cin>>vl; return vl; }*/ void exploreCave(int N){ int in[N],ns[N],dn[N]; for(int i=0;i<N;i++)in[i]=ns[i]=dn[i]=0; for(int i=0;i<N;i++){ int cur=tryCombination(in); if(cur>=i+1){ int l=0,r=N-1,ans=N; while(l<=r){ int m=(l+r)/2; SW(in,dn,m); if(tryCombination(in)<i+1){ ans=m; r=m-1; }else{ l=m+1; } SW(in,dn,m); } ans--; dn[ans]=1; ns[i]=ans; //cout<<ans<<endl; }else{ int l=0,r=N-1,ans=N; while(l<=r){ int m=(l+r)/2; SW(in,dn,m); if(tryCombination(in)>=i+1){ ans=m; r=m-1; }else{ l=m+1; } SW(in,dn,m); } ans--; dn[ans]=1; ns[i]=ans; in[ans]=1; //cout<<ans<<endl; } } /*for(int i=0;i<N;i++){ cout<<in[i]<<' '; } cout<<endl; for(int i=0;i<N;i++){ cout<<ns[i]<<' '; } cout<<endl;*/ answer(in,ns); } /* int main(){ exploreCave(4); } */
#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...