#include "pyramids.h"
#include <vector>
std::vector<int> sumA, sumB, remA, remB;
void init(std::vector<int> A, std::vector<int> B) {
int N = A.size();
sumA.resize(N + 1, 0);
sumB.resize(N + 1, 0);
remA.resize(N + 1, 0);
remB.resize(N + 1, 0);
for (int i = 0; i < N; ++i) {
sumA[i + 1] = sumA[i] + A[i];
sumB[i + 1] = sumB[i] + B[i];
remA[i + 1] = remA[i] + (A[i] % 2);
remB[i + 1] = remB[i] + (B[i] % 2);
}
}
bool can_transform(int L, int R, int X, int Y) {
int rangeSumA = sumA[R + 1] - sumA[L];
int rangeSumB = sumB[Y + 1] - sumB[X];
int rangeRemA = remA[R + 1] - remA[L];
int rangeRemB = remB[Y + 1] - remB[X];
return rangeSumA == rangeSumB && rangeRemA == rangeRemB;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |