Submission #781564

#TimeUsernameProblemLanguageResultExecution timeMemory
781564mindiyakCave (IOI13_cave)C++14
0 / 100
670 ms504 KiB
#include "cave.h" #include <vector> #include <iostream> using namespace std; vector<int> combination(int N,int start,int end,int val,vector<int> connected_door,vector<int> correct_combo){ vector<int> arr; for(int i=0;i<N;i++){ if(connected_door[i] != -1){ arr.push_back(correct_combo[i]); }else{ if(start <= i and i < end){ arr.push_back(val); }else{ arr.push_back((val == 0) ? 1 : 0); } } } return arr; } void exploreCave(int N) { vector<int> connected_door(N,-1); vector<int> correct_combo(N,0); for(int i=0;i<N;i++){ int combo = 0; int* S = &combination(N,0,N,0,connected_door,correct_combo)[0]; if (tryCombination(S) == i){ combo = 1; } int left = 0,right = N; while(left < right){ int m = left + ((right-left)/2); int* S = &combination(N,left,m+1,combo,connected_door,correct_combo)[0]; if (tryCombination(S) == i+1){ right = m; }else{ left = m+1; } } connected_door[i] = i; correct_combo[i] = combo; } answer(&correct_combo[0],&connected_door[0]); }
#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...