# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1166465 | aminabouakaz | Pyramids (IOI24_pyramids) | C++20 | 0 ms | 0 KiB |
#include <iostream>
#include <vector>
using namespace std;
vector<long long> sumA;
vector<long long> sumB;
void setup(vector<int> pyramidsA, vector<int> pyramidsB) {
int n = pyramidsA.size();
sumA.resize(n + 1, 0);
sumB.resize(n + 1, 0);
for (int i = 0; i < n; ++i) {
sumA[i + 1] = sumA[i] + pyramidsA[i];
sumB[i + 1] = sumB[i] + pyramidsB[i];
}
}
bool can_transform(int l, int r, int x, int y) {
long long totalA = sumA[r + 1] - sumA[l];
long long totalB = sumB[y + 1] - sumB[x];
return totalA == totalB;
}