Submission #1162159

#TimeUsernameProblemLanguageResultExecution timeMemory
1162159jj_masterPyramids (IOI24_pyramids)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

void computePrefixSums(const vector<int>& A, vector<int>& prefixA, const vector<int>& B, vector<int>& prefixB, int N) {
    prefixA[0] = 0;
    prefixB[0] = 0;
    
    for (int i = 0; i < N; ++i) {
        prefixA[i + 1] = prefixA[i] + A[i];
        prefixB[i + 1] = prefixB[i] + B[i];
    }
}

bool canTransform(const vector<int>& A, const vector<int>& B, const vector<int>& prefixA, const vector<int>& prefixB, int L, int R, int X, int Y) {
    if (R - L != Y - X) return false;
    if (prefixA[R + 1] - prefixA[L] != prefixB[Y + 1] - prefixB[X]) {
        return false;
    }
    for (int i = 0; i < (R - L); ++i) {
        if (A[L + i + 1] - A[L + i] != B[X + i + 1] - B[X + i]) {
            return false;
        }
    }
    return true;
}

int main() {
    int N, Q;
    cin >> N;
    vector<int> A(N), B(N);
    for (int i = 0; i < N; ++i) {
        cin >> A[i];
    }
    for (int i = 0; i < N; ++i) {
        cin >> B[i];
    }
    vector<int> prefixA(N + 1), prefixB(N + 1);
    computePrefixSums(A, prefixA, B, prefixB, N);
    cin >> Q;
    while (Q--) {
        int L, R, X, Y;
        cin >> L >> R >> X >> Y;

        if (canTransform(A, B, prefixA, prefixB, L, R, X, Y)) {
            cout << "YES\n";
        } else {
            cout << "NO\n";
        }
    }
    return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccNdFWSZ.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccbuuE4Z.o:pyramids.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccNdFWSZ.o: in function `main':
grader.cpp:(.text.startup+0x35f): undefined reference to `init(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
/usr/bin/ld: grader.cpp:(.text.startup+0x5b2): undefined reference to `can_transform(int, int, int, int)'
collect2: error: ld returned 1 exit status