제출 #1310702

#제출 시각아이디문제언어결과실행 시간메모리
1310702aleksandreCave (IOI13_cave)C++20
0 / 100
82 ms512 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { int S[N]; int P[N]; for (int i = 0; i < N; i++) { S[i] = 0; P[i] = -1; } vector<int> S_unk; for (int i = 0; i < N; i++) S_unk.push_back(i); while (true) { int j = tryCombination(S); if (j == -1) break; int l = 0, r = S_unk.size() - 1; while (l < r) { int m = (l + r) / 2; for (int k = 0; k <= m; k++) S[S_unk[k]] = 1 - S[S_unk[k]]; int res = tryCombination(S); if (res > j) r = m; else l = m + 1; for (int k = 0; k <= m; k++) S[S_unk[k]] = 1 - S[S_unk[k]]; } int idx = S_unk[l]; S[idx] = 1 - S[idx]; P[j] = idx; S_unk.erase(S_unk.begin() + l); } answer(S, P); }
#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...