제출 #1204627

#제출 시각아이디문제언어결과실행 시간메모리
1204627dzuizz동굴 (IOI13_cave)C++20
100 / 100
516 ms512 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
  int S[N],D[N];
  memset(D,-1,sizeof D);
  for(int i=0;i<N;++i){
    for(int j=0;j<N;++j) if(D[j]==-1) S[j]=0;
    int q=tryCombination(S);
    bool k=(q==-1||q>i);
    int l=0,r=N-1,m,ans;
    while(l<=r){
      m=(l+r)>>1;
      for(int j=0;j<N;++j) if(D[j]==-1)
        S[j]=(m<=j&&j<=r?k^1:k);
      int q=tryCombination(S);
      if(q==-1||q>i) ans=m,l=m+1;
      else r=m-1;
    }
    S[ans]=k^1,D[ans]=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...