Submission #593398

#TimeUsernameProblemLanguageResultExecution timeMemory
593398shezitt동굴 (IOI13_cave)C++14
100 / 100
952 ms460 KiB
#include "cave.h" #include <iostream> #include <algorithm> #include <cstring> #include <cassert> #include <set> using namespace std; bool open(int q, int i){ if(q == -1){ return 1; } return q > i; } void exploreCave(int N) { int a[N], b[N]; for(int i=0; i<N; ++i){ a[i] = 0, b[i] = -1; } for(int i=0; i<N; ++i){ bool p = 0; for(int j=0; j<N; ++j){ if(b[j] == -1){ a[j] = p; } } if(!open(tryCombination(a), i)){ p = !p; } int l = 0, r = N-1, ans = -1; while(l < r){ int mid = (l+r)/2; for(int j=0; j<N; ++j){ if(b[j] == -1){ if(j >= l && j <= mid){ a[j] = p; } else { a[j] = !p; } } } if(open(tryCombination(a), i)){ r = mid; } else { l = mid+1; } } b[r] = i; a[r] = p; } answer(a, b); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:32:23: warning: unused variable 'ans' [-Wunused-variable]
   32 |   int l = 0, r = N-1, ans = -1;
      |                       ^~~
#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...