Submission #849159

#TimeUsernameProblemLanguageResultExecution timeMemory
849159abcvuitunggioCave (IOI13_cave)C++17
0 / 100
74 ms556 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int S[5000],D[5000],ch[5000]; vector <int> v; void exploreCave(int N){ for (int i=0;i<N;i++){ v.clear(); for (int j=0;j<N;j++) if (!ch[j]) v.push_back(j); if (tryCombination(S)>i){ int l=1,r=N-i,kq=-1,pos=0; while (l<=r){ int mid=(l+r)>>1; if (mid<pos) for (int i=mid;i<pos;i++) S[v[i]]=0; else for (int i=pos;i<mid;i++) S[v[i]]=1; pos=mid; if (tryCombination(S)==i){ kq=v[mid-1]; r=mid-1; } else l=mid+1; } ch[kq]=1; D[kq]=i; } else{ int l=1,r=N-i,kq=-1,pos=0; while (l<=r){ int mid=(l+r)>>1; if (mid<pos) for (int i=mid;i<pos;i++) S[v[i]]=0; else for (int i=pos;i<mid;i++) S[v[i]]=1; pos=mid; if (tryCombination(S)>i){ kq=v[mid-1]; r=mid-1; } else l=mid+1; } S[kq]=ch[kq]=1; D[kq]=i; } } 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...