Submission #354321

#TimeUsernameProblemLanguageResultExecution timeMemory
354321David_MCave (IOI13_cave)C++14
100 / 100
399 ms620 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int c[5003],f[5003],a[5003],i,j,x,l,r,m,e,ans; void A(int R){for(;R>=l;R--)c[R]^=!f[R];} int T(){return (tryCombination(c)+10000)%10000<=i;} void exploreCave(int N){ for(i=0;i<N;i++){ l=0;r=N-1; if(T())A(r); while(l<=r){ m=(l+r)/2; for(int o=l;o<=m;o++) if(f[o]==0) c[o]^=1; e=tryCombination(c); if(e!=-1&&e<=i)e=1; else e=0; for(int o=l;o<=m;o++) if(f[o]==0) c[o]^=1; if(e) ans=m,r=m-1; else l=m+1; } a[ans]=i; f[ans]=1; }answer(c,a); }
#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...