Submission #443714

#TimeUsernameProblemLanguageResultExecution timeMemory
443714lLab_Cave (IOI13_cave)C++14
100 / 100
361 ms456 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { int A[N],D[N]; for(int i=0;i<N;++i){ A[i] = 0; D[i] = -1; } int k = 0; int i=0; while(i<N){ k = tryCombination(A); if(k == -1) k = N; bool cl = (k == i); int l=0, r=N-1; int ans = 0; while(l<=r){ int p = k; int mid = (l+r)/2; int C[N]; for(int j=0;j<N;++j) C[j] = A[j]; for(int j=mid;j<=r;++j){ if(D[j] != -1) continue; C[j] = (A[j]+1)%2; } k = tryCombination(C); if(k==-1) k = N; if(cl){ if(k>i){ ans = mid; l = mid+1; }else{ r = mid-1; } }else{ if(k==i){ ans = mid; l = mid+1; }else{ r = mid-1; } } } if(cl){ A[ans] = (A[ans]+1)%2; } D[ans] = i; i++; } answer(A, D); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:21:17: warning: unused variable 'p' [-Wunused-variable]
   21 |             int p = k;
      |                 ^
#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...