Submission #1166460

#TimeUsernameProblemLanguageResultExecution timeMemory
1166460aminabouakazPyramids (IOI24_pyramids)C++20
100 / 100
41 ms5112 KiB
#include <iostream>
#include <vector>
#include <numeric>

std::vector<long long> prefixSumA;
std::vector<long long> prefixSumB;

void init(std::vector<int> a, std::vector<int> b) {
    prefixSumA.resize(a.size() + 1, 0LL);
    prefixSumB.resize(b.size() + 1, 0LL);
    for (size_t i = 0; i < a.size(); ++i) {
        prefixSumA[i + 1] = prefixSumA[i] + a[i];
        prefixSumB[i + 1] = prefixSumB[i] + b[i];
    }
}

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