Submission #1194694

#TimeUsernameProblemLanguageResultExecution timeMemory
1194694aykhnSphinx's Riddle (IOI24_sphinx)C++20
3 / 100
39 ms436 KiB
#include "sphinx.h" #include <bits/stdc++.h> using namespace std; const int MXN = 1000; vector<int> ans; void solve(int l, int r, int col, int N) { if (l == r) { ans[l] = col; return; } int mid = (l + r) >> 1; { vector<int> c1(N, 0), c2(N, 0); for (int i = 0; i < N; i++) { if (i & 1) c1[i] = col; else { if (l <= i && i <= mid) c1[i] = -1; else c1[i] = N; } } for (int i = 0; i < N; i++) { if (!(i & 1)) c2[i] = col; else { if (l <= i && i <= mid) c2[i] = -1; else c2[i] = N; } } if (perform_experiment(c1) != N || perform_experiment(c2) != N) solve(l, mid, col, N); } { vector<int> c1(N, 0), c2(N, 0); for (int i = 0; i < N; i++) { if (i & 1) c1[i] = col; else { if (mid + 1 <= i && i <= r) c1[i] = -1; else c1[i] = N; } } for (int i = 0; i < N; i++) { if (!(i & 1)) c2[i] = col; else { if (mid + 1 <= i && i <= r) c2[i] = -1; else c2[i] = N; } } if (perform_experiment(c1) != N || perform_experiment(c2) != N) solve(mid + 1, r, col, N); } } vector<int> find_colours(int N, vector<int> X, vector<int> Y) { ans = vector<int>(N); for (int col = 0; col < N; col++) solve(0, N - 1, col, N); return ans; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...