Submission #1125567

#TimeUsernameProblemLanguageResultExecution timeMemory
1125567Francisco_MartinCave (IOI13_cave)C++20
100 / 100
299 ms532 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; #define ll int void exploreCave(ll n){ ll S[n], D[n], ans, l, r, ract, res; for(int i=0; i<n; i++) S[i]=D[i]=-1; for(int i=0; i<n; i++){ ll act[n]; for(int j=0; j<n; j++){ if(S[j]!=-1) act[j]=S[j]; else act[j]=0; } ans=tryCombination(act); if(ans==-1 || ans>i) ract=0; else ract=1; l=0; r=n-1; res=n; while(l<=r){ ll m=(l+r)/2; for(int j=0; j<m; j++){ if(S[j]!=-1) act[j]=S[j]; else act[j]=ract^1; } for(int j=m; j<n; j++){ if(S[j]!=-1) act[j]=S[j]; else act[j]=ract; } ans=tryCombination(act); if(ans==-1 || ans>i){ l=m+1; res=m; }else r=m-1; } D[res]=i; S[res]=ract; } answer(S,D); }
#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...