Submission #1257392

#TimeUsernameProblemLanguageResultExecution timeMemory
1257392thewizardmanCave (IOI13_cave)C++20
100 / 100
752 ms536 KiB
#include "cave.h" #include <iostream> int s[5000], a[5000], b[5000]; int max(int x, int y) { return x > y ? x : y; } void exploreCave(int n) { for (int i = 0; i < n; i++) a[i] = -1; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) s[j] = max(0, a[j]); int skibidi = tryCombination(s); int gean = skibidi >= i+1 || skibidi == -1; int l = 0, r = n - 1, mid, ans; while (l <= r) { mid = (l + r) >> 1; for (int i = 0; i < n; i++) { if (a[i] != -1) s[i] = a[i]; else s[i] = (i <= mid)^gean; } int t = tryCombination(s); if (t > i || t == -1) r = mid - 1, ans = mid; else l = mid + 1; } a[ans] = gean^1; b[ans] = i; } 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...