Submission #207771

#TimeUsernameProblemLanguageResultExecution timeMemory
207771a_playerCave (IOI13_cave)C++14
0 / 100
660 ms512 KiB
#include "cave.h"
#include <bits/stdc++.h>
#define try tryCombination

using namespace std;

const int MAXN = 5e3+5;
int S[MAXN];
int D[MAXN];
int st[MAXN];
int N;
vector<int> u;
bool check(int t,bool open, int i){
    for(int j=0;j<=t;j++)st[j]=open;
          for(int j=t+1;j<N;j++)st[j]=!open;
          for(int x:u)st[x]=S[x];
          int h=try(st);
          return h==i;
}
void exploreCave(int N){
    ::N=N;
   for(int i=0;i<N;i++){
      int t=try(S);
      bool open=false;
      if(t==i)open=true;
      int x=-1;
      for(int b=N/2;b>=1;b/=2)
      if(check(x+b,open,i))x+=b;
          D[x+1]=i;
        S[x+1]=open;
        u.push_back(x+1);
      
   }
   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...