Submission #1256267

#TimeUsernameProblemLanguageResultExecution timeMemory
1256267nibertObstacles for a Llama (IOI25_obstacles)C++20
10 / 100
68 ms8264 KiB
#include <vector> using namespace std; static int T0; static vector<int> H; static vector<int> blockedPrefix; void initialize(vector<int> T, vector<int> h) { T0 = T[0]; // only one row H = h; int M = H.size(); blockedPrefix.assign(M, 0); blockedPrefix[0] = (T0 > H[0] ? 0 : 1); for (int j = 1; j < M; j++) { blockedPrefix[j] = blockedPrefix[j - 1] + (T0 > H[j] ? 0 : 1); } } bool can_reach(int L, int R, int S, int D) { if (S > D) swap(S, D); // number of blocked cells between S and D inclusive, but we can skip S int blockedBetween = blockedPrefix[D] - blockedPrefix[S]; return blockedBetween == 0; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...