Submission #1166456

#TimeUsernameProblemLanguageResultExecution timeMemory
1166456aminabouakazPyramids (IOI24_pyramids)C++20
Compilation error
0 ms0 KiB
class PyramidTransform { public: PyramidTransform(const std::vector<int>& A, const std::vector<int>& B) : A(A), B(B) { prefixA.resize(A.size() + 1, 0); prefixB.resize(B.size() + 1, 0); for (size_t i = 1; i <= A.size(); ++i) { prefixA[i] = prefixA[i - 1] + A[i - 1]; } for (size_t i = 1; i <= B.size(); ++i) { prefixB[i] = prefixB[i - 1] + B[i - 1]; } } bool canTransform(int L, int R, int X, int Y) { long long sumA = prefixA[R + 1] - prefixA[L]; long long sumB = prefixB[Y + 1] - prefixB[X]; return sumA == sumB; } private: std::vector<int> A; std::vector<int> B; std::vector<long long> prefixA; std::vector<long long> prefixB; };

Compilation message (stderr)

pyramids.cpp:3:33: error: 'vector' in namespace 'std' does not name a template type
    3 |     PyramidTransform(const std::vector<int>& A, const std::vector<int>& B)
      |                                 ^~~~~~
pyramids.cpp:1:1: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
  +++ |+#include <vector>
    1 | class PyramidTransform {
pyramids.cpp:3:39: error: expected ',' or '...' before '<' token
    3 |     PyramidTransform(const std::vector<int>& A, const std::vector<int>& B)
      |                                       ^
pyramids.cpp:23:10: error: 'vector' in namespace 'std' does not name a template type
   23 |     std::vector<int> A;
      |          ^~~~~~
pyramids.cpp:23:5: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
   23 |     std::vector<int> A;
      |     ^~~
pyramids.cpp:24:10: error: 'vector' in namespace 'std' does not name a template type
   24 |     std::vector<int> B;
      |          ^~~~~~
pyramids.cpp:24:5: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
   24 |     std::vector<int> B;
      |     ^~~
pyramids.cpp:25:10: error: 'vector' in namespace 'std' does not name a template type
   25 |     std::vector<long long> prefixA;
      |          ^~~~~~
pyramids.cpp:25:5: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
   25 |     std::vector<long long> prefixA;
      |     ^~~
pyramids.cpp:26:10: error: 'vector' in namespace 'std' does not name a template type
   26 |     std::vector<long long> prefixB;
      |          ^~~~~~
pyramids.cpp:26:5: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
   26 |     std::vector<long long> prefixB;
      |     ^~~
pyramids.cpp: In constructor 'PyramidTransform::PyramidTransform(int)':
pyramids.cpp:4:11: error: class 'PyramidTransform' does not have any field named 'A'
    4 |         : A(A), B(B) {
      |           ^
pyramids.cpp:4:13: error: 'A' was not declared in this scope
    4 |         : A(A), B(B) {
      |             ^
pyramids.cpp:4:17: error: class 'PyramidTransform' does not have any field named 'B'
    4 |         : A(A), B(B) {
      |                 ^
pyramids.cpp:4:19: error: 'B' was not declared in this scope
    4 |         : A(A), B(B) {
      |                   ^
pyramids.cpp:6:9: error: 'prefixA' was not declared in this scope
    6 |         prefixA.resize(A.size() + 1, 0);
      |         ^~~~~~~
pyramids.cpp:7:9: error: 'prefixB' was not declared in this scope
    7 |         prefixB.resize(B.size() + 1, 0);
      |         ^~~~~~~
pyramids.cpp:8:14: error: 'size_t' was not declared in this scope
    8 |         for (size_t i = 1; i <= A.size(); ++i) {
      |              ^~~~~~
pyramids.cpp:1:1: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | class PyramidTransform {
pyramids.cpp:8:28: error: 'i' was not declared in this scope
    8 |         for (size_t i = 1; i <= A.size(); ++i) {
      |                            ^
pyramids.cpp:11:14: error: 'size_t' was not declared in this scope
   11 |         for (size_t i = 1; i <= B.size(); ++i) {
      |              ^~~~~~
pyramids.cpp:11:14: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
pyramids.cpp:11:28: error: 'i' was not declared in this scope
   11 |         for (size_t i = 1; i <= B.size(); ++i) {
      |                            ^
pyramids.cpp: In member function 'bool PyramidTransform::canTransform(int, int, int, int)':
pyramids.cpp:17:26: error: 'prefixA' was not declared in this scope
   17 |         long long sumA = prefixA[R + 1] - prefixA[L];
      |                          ^~~~~~~
pyramids.cpp:18:26: error: 'prefixB' was not declared in this scope
   18 |         long long sumB = prefixB[Y + 1] - prefixB[X];
      |                          ^~~~~~~