Submission #1315737

#TimeUsernameProblemLanguageResultExecution timeMemory
1315737aaaaaaaaCave (IOI13_cave)C++20
0 / 100
53 ms512 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; void exploreCave(int N) { int S[N], D[N]; bool vis[N + 1]; for(int i = 0; i < N; ++i) S[i] = 0, D[i] = i, vis[i] = 0; auto ok = [&](int x, int r) -> bool { int NS [N]; for(int i = 0; i < N; ++i) NS[i] = S[i]; for(int i = 0; i <= r; ++i){ if(!vis[i]) NS[i] ^= 1; } return tryCombination(NS) ^ x; }; for(int i = 0; i < N; ++i){ int pos = tryCombination(S); bool locked = 0; if(pos == i) locked = 1; int st = 0, en = N - 1, org = 0; while(st <= en){ int mid = st + (en - st) / 2; if(ok(i, mid)) org = mid, en = mid - 1; else st = mid + 1; } S[org] ^= locked, vis[org] = 1, D[org] = i; } 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...