Submission #319047

#TimeUsernameProblemLanguageResultExecution timeMemory
319047Genius1506Cave (IOI13_cave)C++14
0 / 100
370 ms488 KiB
#include<bits/stdc++.h>
#include "cave.h";
using namespace std;

const int mxN = 5002;

int S[mxN],D[mxN],good[mxN];

void exploreCave(int N){
  memset(good,-1,sizeof(good));
  for(int i = 0; i < N; i++){
    for(int j = 0; j < N; j++)
      if(good[j]==-1)
        S[j]=0;
    int tmp = tryCombination(S);
    int cur = (tmp==-1||tmp>i)?0:1;
    int lb=0,rb=N-1,v=0;
    while(lb<=rb){
      int mb = (lb+rb)/2;
      for(int j = 0; j < N; j++)
        if(good[j]==-1)
          S[j]=j<=mb?cur:1-cur;
      tmp=tryCombination(S);
      if(tmp==-1||tmp>i)
        v=mb,rb=mb-1;
      else
        lb=mb+1;
    }
    good[v]=cur;
    D[v]=i;
  }
  answer(good,D);
}

Compilation message (stderr)

cave.cpp:2:18: warning: extra tokens at end of #include directive
    2 | #include "cave.h";
      |                  ^
#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...