Submission #1166463

#TimeUsernameProblemLanguageResultExecution timeMemory
1166463aminabouakazPyramids (IOI24_pyramids)C++20
100 / 100
39 ms4936 KiB
#include <iostream>
#include <vector>

std::vector<long long> prefixSumsA;
std::vector<long long> prefixSumsB;

void init(std::vector<int> a, std::vector<int> b) {
    int n = a.size();
    prefixSumsA.resize(n + 1, 0);
    prefixSumsB.resize(n + 1, 0);
    for (int i = 0; i < n; ++i) {
        prefixSumsA[i + 1] = prefixSumsA[i] + a[i];
        prefixSumsB[i + 1] = prefixSumsB[i] + b[i];
    }
}

bool can_transform(int l, int r, int x, int y) {
    long long sumA = prefixSumsA[r + 1] - prefixSumsA[l];
    long long sumB = prefixSumsB[y + 1] - prefixSumsB[x];
    return sumA == sumB;
}
#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...