Submission #1166461

#TimeUsernameProblemLanguageResultExecution timeMemory
1166461aminabouakazPyramids (IOI24_pyramids)C++20
100 / 100
55 ms5072 KiB
#include <iostream>
#include <vector>
#include <numeric>

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];
    if (sumA == sumB) {
        return true;
    } else {
        return false;
    }
}
#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...