Submission #109236

#TimeUsernameProblemLanguageResultExecution timeMemory
109236Nodir_BobievCave (IOI13_cave)C++14
100 / 100
685 ms640 KiB
# include "cave.h" # include <iostream> # include <vector> using namespace std; void exploreCave( int N ) { int A[5001] = {}, B[5001] = {}; vector < int > vc; for ( int i = 0; i < N; i ++ ) vc.push_back(i); for ( int i = 0; i < N; i ++ ){ for ( auto c: vc ) A[c] = 0; int cs = tryCombination( A ); int open = (cs == i ), l = 0, r = vc.size() - 1; while( r > l ){ int m = ( l + r ) >> 1; for ( auto c: vc ) A[ c ] = open; for ( int j = l; j <= m; j ++ ) A[ vc[j] ] = 1 - open; int cs = tryCombination( A ); (cs == i ? (r = m) : (l = m + 1) ); } B[vc[l]] = i; A[ vc[l] ] = open; vc.erase( vc.begin() + l ); } answer( A, B ); }
#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...