Submission #964524

#TimeUsernameProblemLanguageResultExecution timeMemory
964524UmairAhmadMirzaCave (IOI13_cave)C++14
100 / 100
629 ms820 KiB
#include <bits/stdc++.h> #include <cave.h> using namespace std; int const NN=5e3+3; int swit[NN]; bool com[NN]; int door[NN]; int n; void exploreCave(int N){ n=N; int S[N],K[N]; for (int i = 0; i < n; ++i){ S[i]=0; K[i]=0; } for (int i = 0; i < n; ++i) { //find comb int cl=tryCombination(S); if(cl==i) com[i]=1; int low=0,high=n; while(high-low>1){ int mid=(low+high)/2; for (int j = 0; j < n; ++j){ if(swit[j]>0) continue; if(low<=j&&j<mid) K[j]=com[i]; else K[j]=!(com[i]); } int v=tryCombination(K); if(v==i) low=mid; else high=mid; } swit[low]=i+1; door[i]=low; S[low]=com[i]; K[low]=com[i]; // break; } for (int i = 0; i < N; ++i) swit[i]--; answer(S,swit); }
#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...