Submission #1141028

#TimeUsernameProblemLanguageResultExecution timeMemory
1141028AliyyiakbarCave (IOI13_cave)C++20
100 / 100
114 ms536 KiB
#include "cave.h" #include "bits/stdc++.h" using namespace std; void exploreCave(int n) { int s[n], d[n]; memset(s, 0, sizeof(s)); vector<int> v(n); iota(v.begin(), v.end(), 0LL); for (int i = 0; i < n; ++i) { for (int j : v) { s[j] = 0; } if (tryCombination(s) != i) { for (int j : v) { s[j] = 1; } } int l = 0, r = (int)v.size() - 1, mid, best; while(l <= r) { mid = (l + r) >> 1; for (int j = l; j <= mid; ++j) { s[v[j]] = !s[v[j]]; } int query = tryCombination(s); for (int j = l; j <= mid; ++j) { s[v[j]] = !s[v[j]]; } if (query != i) { best = mid; r = mid - 1; } else { l = mid + 1; } } s[v[best]] = !s[v[best]]; v.erase(v.begin() + best); } for (int i = 0; i < n; ++i) { s[i] = !s[i]; int pos = tryCombination(s); d[i] = pos; s[i] = !s[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...