제출 #1165965

#제출 시각아이디문제언어결과실행 시간메모리
1165965aminabouakazPyramids (IOI24_pyramids)C++20
20 / 100
36 ms5032 KiB
#include "pyramids.h" #include <vector> std::vector<int> prefixA, prefixB, prefixRemA, prefixRemB; void init(std::vector<int> A, std::vector<int> B) { int N = A.size(); prefixA.resize(N + 1, 0); prefixB.resize(N + 1, 0); prefixRemA.resize(N + 1, 0); prefixRemB.resize(N + 1, 0); for (int i = 0; i < N; ++i) { prefixA[i + 1] = prefixA[i] + A[i]; prefixB[i + 1] = prefixB[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 = prefixA[R + 1] - prefixA[L]; int sumB = prefixB[Y + 1] - prefixB[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...