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