Submission #1165919

#TimeUsernameProblemLanguageResultExecution timeMemory
1165919aminabouakazPyramids (IOI24_pyramids)C++20
0 / 100
1096 ms4936 KiB
#include <vector> using namespace std; vector<int> sumA, sumB; vector<int> diffA, diffB; void init(vector<int> A, vector<int> B) { int N = A.size(); sumA.resize(N); sumB.resize(N); diffA.resize(N - 1); diffB.resize(N - 1); sumA[0] = A[0]; sumB[0] = B[0]; for (int i = 1; i < N; ++i) { sumA[i] = sumA[i - 1] + A[i]; sumB[i] = sumB[i - 1] + B[i]; diffA[i - 1] = A[i] - A[i - 1]; diffB[i - 1] = B[i] - B[i - 1]; } } bool can_transform(int L, int R, int X, int Y) { int totalA = sumA[R] - (L > 0 ? sumA[L - 1] : 0); int totalB = sumB[Y] - (X > 0 ? sumB[X - 1] : 0); if (totalA != totalB) { return false; } for (int i = 1; i <= R - L; ++i) { if (diffA[L + i - 1] != diffB[X + i - 1]) { return false; } } return true; }
#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...