Submission #1165956

#TimeUsernameProblemLanguageResultExecution timeMemory
1165956aminabouakazPyramids (IOI24_pyramids)C++20
20 / 100
35 ms4936 KiB
#include "pyramids.h" #include <vector> std::vector<int> prefixSumA, prefixSumB, prefixRemA, prefixRemB; void init(std::vector<int> A, std::vector<int> B) { int N = A.size(); prefixSumA.resize(N + 1, 0); prefixSumB.resize(N + 1, 0); prefixRemA.resize(N + 1, 0); prefixRemB.resize(N + 1, 0); for (int i = 0; i < N; ++i) { prefixSumA[i + 1] = prefixSumA[i] + A[i]; prefixSumB[i + 1] = prefixSumB[i] + B[i]; prefixRemA[i + 1] = prefixRemA[i] + (A[i] % 2); prefixRemB[i + 1] = prefixRemB[i] + (B[i] % 2); } } bool can_transform(int L, int R, int X, int Y) { int sumA = prefixSumA[R + 1] - prefixSumA[L]; int sumB = prefixSumB[Y + 1] - prefixSumB[X]; int remA = prefixRemA[R + 1] - prefixRemA[L]; int remB = prefixRemB[Y + 1] - prefixRemB[X]; return sumA == sumB && remA == remB; }
#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...