Submission #1165972

#TimeUsernameProblemLanguageResultExecution timeMemory
1165972aminabouakazPyramids (IOI24_pyramids)C++20
Compilation error
0 ms0 KiB
#include "pyramids.h"
#include <vector>
using namespace std;

vector<int> prefixA, prefixB;

void init(vector<int> A, vector<int> B) {
    int N = A.size();
    prefixA.resize(N + 1, 0);
    prefixB.resize(N + 1, 0);

    for (int i = 0; i < N; ++i) {
        prefixA[i + 1] = prefixA[i] + A[i];
        prefixB[i + 1] = prefixB[i] + B[i];
    }
}

bool can_transform(int L, int R, int X, int Y) {
    if (prefixA[R + 1] - prefixA[L] != prefixB[Y + 1] - prefixB[X]) {
        return false;
    }

    for (int i = L + 1, j = X + 1; i <= R; ++i, ++j) {
        // Calculate the difference between adjacent pyramids
        int diffA = A[i] - A[i - 1];
        int diffB = B[j] - B[j - 1];

        // Check if the differences have the same parity
        if ((diffA % 2) != (diffB % 2)) {
            return false;
        }
    }

    return true;
}

Compilation message (stderr)

pyramids.cpp: In function 'bool can_transform(int, int, int, int)':
pyramids.cpp:25:21: error: 'A' was not declared in this scope
   25 |         int diffA = A[i] - A[i - 1];
      |                     ^
pyramids.cpp:26:21: error: 'B' was not declared in this scope
   26 |         int diffB = B[j] - B[j - 1];
      |                     ^