Submission #1238824

#TimeUsernameProblemLanguageResultExecution timeMemory
1238824AdrianoMechanical Doll (IOI18_doll)C++17
Compilation error
0 ms0 KiB
! Adriano 64bitz • ⓘ User is suspected to be part of an online terrorist organization. Please report any suspicious activity to Discord staff. LIVE LIVE División I cjoa's Screen 720p 30FPS LIVE División I División I chat 5 July 2025 @Baldwin2027 IOI sino pues el lo programo ! Adriano — 05/07/2025, 18:20 real [18:21] no [18:21] ni tampoco lo dejan salir de su casa 1 [18:21] con razon saca 600 [18:21] 600 punto Baldwin2027 IOI — 05/07/2025, 18:21 el esta en uni ! Adriano — 05/07/2025, 18:21 el segundo sacó menos de 500 Baldwin2027 IOI — 05/07/2025, 18:21 el no esta en su casa @Baldwin2027 IOI el esta en uni ! Adriano — 05/07/2025, 18:21 uni? [18:21] por fin salió de su casa (edited) [18:21] No @! Adriano ni tampoco lo dejan salir de su casa Baldwin2027 IOI — 05/07/2025, 18:22 En china los estudiantes viven en la escuela despues de primaria ! Adriano — 05/07/2025, 18:22 Los otro chino si [18:22] ah con razón [18:22] nerfearon a los otros Baldwin2027 IOI — 05/07/2025, 18:22 boarding school [18:22] si [18:22] almenos lo que me dice mi prima ! Adriano nerfearon a los otros ! Adriano — 05/07/2025, 18:22 ni así, tuvieron que hace trampa pa pode ganale a orzdevinwang y ni así lo lograron @Baldwin2027 IOI almenos lo que me dice mi prima ! Adriano — 05/07/2025, 18:22 cual (edited) [18:22] digo [18:23] no [18:23] cual rubia [18:23] ella no era rubia Baldwin2027 IOI — 05/07/2025, 18:23 la presidenta? ! Adriano — 05/07/2025, 18:23 creo que le dicen rubios a los que son blanco [18:23] Tengo que [18:23] la ley me obliga Baldwin2027 IOI — 05/07/2025, 18:23 le acabaste de recordar ! Adriano — 05/07/2025, 18:23 diq [18:24] XD [18:24] de la saga [18:24] Si, el se estaba quejando de ir a la universidad Baldwin2027 IOI — 05/07/2025, 18:24 no le des ideas ! Adriano Si, el se estaba quejando de ir a la universidad ! Adriano — 05/07/2025, 18:24 y yo le explique que el problema no es la universidad, es la tarea [18:24] y luego recordó porque la universidad es buena [18:24] epecialmente en Santiago [18:24] y en la PUCMM Baldwin2027 IOI — 05/07/2025, 18:25 por la presidenta? ! Adriano — 05/07/2025, 18:25 por las oportunidades (edited) [18:25] gugubai Baldwin2027 IOI — 05/07/2025, 18:25 adios ! Adriano — 05/07/2025, 18:25 viene con nosotros? [18:25] vamono [18:26] ahora sabemos [18:26] va poder darnos coaching y regañarnos [18:26] su presencia [18:26] es suficiente [18:26] confie [18:26] bai 12 July 2025 cjoa — 15:07 https://practice.ioi2025.bo/ [15:07] DOM1 [15:08] eWuzowhgHN [15:08] DOM2 [15:08] fCFofAATgQ ! Adriano — 15:41 #include "doll.h" #include <bits/stdc++.h> using namespace std; Expand message.txt 5 KB Message División I  ; #include "doll.h" #include <bits/stdc++.h> using namespace std; void sub_form_array(int log2, vector<int> &arr, unordered_map<int, int> &idx) { arr[0] = 1; for( int i = 1; i < (1<<log2) ; ++i ) { // cerr << i*2 << " :IDX ARR: " << arr[i*2] << '\n'; if ( i%2 ) arr[i*2] = arr[i*2 - 2] + (1<<log2); else { int divisible_by = (1<<log2); while ( i % divisible_by ) divisible_by/=2; if ( i*2 >= divisible_by*2 && arr[ i*2 - divisible_by ] > arr[ i*2 - divisible_by*2 ] ) { arr[i*2] = arr[ i*2 - divisible_by ] - (1<<log2) / divisible_by; } else arr[i*2] = arr[ i*2 - divisible_by ] + (1<<log2) / divisible_by*2; } idx[arr[i*2]] = i*2; // cerr << i*2 << " :IDX ARR: " << arr[i*2] << '\n'; } // for ( const int &a : arr ) // cerr << a << ' '; // cerr << '\n'; for ( int i = (1<<log2+1); i < arr.size(); i += 2 ) { arr[i] = arr[i - (1<<log2+1)] + 1; idx[arr[i]] = i; } // for ( const int &a : arr ) // cerr << a << ' '; } vector<int> form_array( vector<int> d_adj ) { unordered_map< int, int > idx; int log2 = static_cast<int> ( log( (double)(d_adj.size()-1) ) / log ( 2 ) ) - 1; // static_cast seems better than implicit cast int _2log = ( 1 << (log2 + 1) ); vector<int> arr( ( _2log*2 ) ); sub_form_array(log2, arr, idx); int offset = d_adj.size() - _2log + 1; for ( int n = _2log; n >= 1; --n ) { int i = idx[n]+1; int *a = &arr[ i ]; if ( 0 < (--offset) ) *a = ( _2log + offset ); else { *a = -1; } } return arr; } int s_count = 0; vector < int > C, X, Y; unordered_map < int, int > parent; int get_global_parent(int idx ) { //assert(parent[idx] != 0); if ( parent[idx] > 0 ) { return idx; } return get_global_parent( parent[idx] ); } void recursive_magic(int idx, int count, int arr_idx, vector<int> &arr, vector<int> &d_adj) { if ( idx > 0 ) { ++s_count; parent[-s_count] = idx; C[idx] = -s_count; recursive_magic(-(s_count), count, arr_idx, arr, d_adj); return; } X.push_back(0), Y.push_back(0); if ( count == 2 ) // count will always reach 2 as count is always a power of 2 { int a1 = arr[arr_idx]; int a2 = arr[arr_idx+1]; X[-idx - 1] = (a1 > 0? d_adj[a1-1] : get_global_parent(idx )); Y[-idx - 1] = (a2 > 0? d_adj[a2-1] : get_global_parent(idx )); return; } //assert(count >= 2); int tmp = count/2; int mid = arr_idx + tmp; ++s_count; parent[-s_count] = idx; X[-idx - 1] = -s_count; recursive_magic(-(s_count), tmp, arr_idx, arr, d_adj); ++s_count; parent[-s_count] = idx; Y[-idx - 1] = -s_count; recursive_magic(-(s_count), tmp, mid, arr, d_adj); } void create_circuit(int M, vector<int> A) { vector< vector<int> > directed_adj(M+1); C.resize(M+1); C[0] = A[0]; A.push_back(0); for ( int _ = 0; _ < A.size()-1; ++_ ) { directed_adj[ A[_] ].push_back( A[_+1] ); // I'll convert everything to a directed graph and make switches based on that } for ( int i = 1; i <= M; ++i ) { if ( directed_adj[i].empty() ) continue; else if ( directed_adj[i].size() == 1) { C[i] = directed_adj[i][0]; continue; } vector<int> arr = form_array( directed_adj[i] ); recursive_magic(i, arr.size(), 0, arr, directed_adj[i]); } // cerr << C.size() << '\n'; // for ( int i = 0; i < C.size(); ++i ) // cerr << C[i] << " :C | A: " << A[i] << '\n'; // cerr << X.size() << '\n'; // for ( int i = 0; i < X.size(); ++i ) // cerr << X[i] << " :X | Y: " << Y[i] << '\n'; answer(C, X, Y); return; }

Compilation message (stderr)

doll.cpp:3:1: error: extended character • is not valid in an identifier
    3 | •
      | ^
doll.cpp:20:5: warning: missing terminating ' character
   20 | cjoa's Screen
      |     ^
doll.cpp:20:5: error: missing terminating ' character
   20 | cjoa's Screen
      |     ^~~~~~~~~
doll.cpp:39:1: error: stray '@' in program
   39 | @Baldwin2027
      | ^
doll.cpp:44:11: error: extended character — is not valid in an identifier
   44 | ! Adriano — 05/07/2025, 18:20
      |           ^
doll.cpp:60:2: error: extended character — is not valid in an identifier
   60 |  — 05/07/2025, 18:21
      |  ^
doll.cpp:63:11: error: extended character — is not valid in an identifier
   63 | ! Adriano — 05/07/2025, 18:21
      |           ^
doll.cpp:69:2: error: extended character — is not valid in an identifier
   69 |  — 05/07/2025, 18:21
      |  ^
doll.cpp:72:1: error: stray '@' in program
   72 | @Baldwin2027
      | ^
doll.cpp:77:11: error: extended character — is not valid in an identifier
   77 | ! Adriano — 05/07/2025, 18:21
      |           ^
doll.cpp:84:1: error: stray '@' in program
   84 | @! Adriano
      | ^
doll.cpp:90:2: error: extended character — is not valid in an identifier
   90 |  — 05/07/2025, 18:22
      |  ^
doll.cpp:93:11: error: extended character — is not valid in an identifier
   93 | ! Adriano — 05/07/2025, 18:22
      |           ^
doll.cpp:103:2: error: extended character — is not valid in an identifier
  103 |  — 05/07/2025, 18:22
      |  ^
doll.cpp:113:11: error: extended character — is not valid in an identifier
  113 | ! Adriano — 05/07/2025, 18:22
      |           ^
doll.cpp:116:1: error: stray '@' in program
  116 | @Baldwin2027
      | ^
doll.cpp:121:11: error: extended character — is not valid in an identifier
  121 | ! Adriano — 05/07/2025, 18:22
      |           ^
doll.cpp:135:2: error: extended character — is not valid in an identifier
  135 |  — 05/07/2025, 18:23
      |  ^
doll.cpp:138:11: error: extended character — is not valid in an identifier
  138 | ! Adriano — 05/07/2025, 18:23
      |           ^
doll.cpp:148:2: error: extended character — is not valid in an identifier
  148 |  — 05/07/2025, 18:23
      |  ^
doll.cpp:151:11: error: extended character — is not valid in an identifier
  151 | ! Adriano — 05/07/2025, 18:23
      |           ^
doll.cpp:163:2: error: extended character — is not valid in an identifier
  163 |  — 05/07/2025, 18:24
      |  ^
doll.cpp:169:11: error: extended character — is not valid in an identifier
  169 | ! Adriano — 05/07/2025, 18:24
      |           ^
doll.cpp:181:2: error: extended character — is not valid in an identifier
  181 |  — 05/07/2025, 18:25
      |  ^
doll.cpp:184:11: error: extended character — is not valid in an identifier
  184 | ! Adriano — 05/07/2025, 18:25
      |           ^
doll.cpp:192:2: error: extended character — is not valid in an identifier
  192 |  — 05/07/2025, 18:25
      |  ^
doll.cpp:195:11: error: extended character — is not valid in an identifier
  195 | ! Adriano — 05/07/2025, 18:25
      |           ^
doll.cpp:213:6: error: extended character — is not valid in an identifier
  213 | cjoa — 15:07
      |      ^
doll.cpp:217:5: error: invalid digit "8" in octal constant
  217 | [15:08]
      |     ^~
doll.cpp:219:5: error: invalid digit "8" in octal constant
  219 | [15:08]
      |     ^~
doll.cpp:221:5: error: invalid digit "8" in octal constant
  221 | [15:08]
      |     ^~
doll.cpp:224:11: error: extended character — is not valid in an identifier
  224 | ! Adriano — 15:41
      |           ^
doll.cpp:1:1: error: expected unqualified-id before '!' token
    1 | ! Adriano
      | ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:62,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of entity
  162 |   __is_null_pointer(std::nullptr_t)
      |                                   ^
/usr/include/c++/11/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)'
  157 |     __is_null_pointer(_Type)
      |     ^~~~~~~~~~~~~~~~~
/usr/include/c++/11/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std'
  162 |   __is_null_pointer(std::nullptr_t)
      |                          ^~~~~~~~~
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/type_traits:227:27: error: 'size_t' has not been declared
  227 |   template <typename _Tp, size_t = sizeof(_Tp)>
      |                           ^~~~~~
/usr/include/c++/11/type_traits:431:26: error: 'std::size_t' has not been declared
  431 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:432:25: error: '_Size' was not declared in this scope
  432 |     struct is_array<_Tp[_Size]>
      |                         ^~~~~
/usr/include/c++/11/type_traits:432:31: error: template argument 1 is invalid
  432 |     struct is_array<_Tp[_Size]>
      |                               ^
/usr/include/c++/11/type_traits:537:42: error: 'nullptr_t' is not a member of 'std'
  537 |     struct __is_null_pointer_helper<std::nullptr_t>
      |                                          ^~~~~~~~~
/usr/include/c++/11/type_traits:537:51: error: template argument 1 is invalid
  537 |     struct __is_null_pointer_helper<std::nullptr_t>
      |                                                   ^
/usr/include/c++/11/type_traits:1361:37: error: 'size_t' is not a member of 'std'
 1361 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1361:57: error: template argument 1 is invalid
 1361 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                                         ^
/usr/include/c++/11/type_traits:1361:57: note: invalid template non-type parameter
/usr/include/c++/11/type_traits:1370:37: error: 'size_t' is not a member of 'std'
 1370 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1370:46: error: template argument 1 is invalid
 1370 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/11/type_traits:1370:46: note: invalid template non-type parameter
/usr/include/c++/11/type_traits:1372:26: error: 'std::size_t' has not been declared
 1372 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:1373:21: error: '_Size' was not declared in this scope
 1373 |     struct rank<_Tp[_Size]>
      |                     ^~~~~
/usr/include/c++/11/type_traits:1373:27: error: template argument 1 is invalid
 1373 |     struct rank<_Tp[_Size]>
      |                           ^
/usr/include/c++/11/type_traits:1374:37: error: 'size_t' is not a member of 'std'
 1374 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1374:65: error: template argument 1 is invalid
 1374 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/11/type_traits:1374:65: note: invalid template non-type parameter
/usr/include/c++/11/type_traits:1378:37: error: 'size_t' is not a member of 'std'
 1378 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1378:65: error: template argument 1 is invalid
 1378 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/11/type_traits:1378:65: note: invalid template non-type parameter
/usr/include/c++/11/type_traits:1383:37: error: 'size_t' is not a member of 'std'
 1383 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1383:46: error: template argument 1 is invalid
 1383 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/11/type_traits:1383:46: note: invalid template non-type parameter
/usr/include/c++/11/type_traits:1385:42: error: 'std::size_t' has not been declared
 1385 |   template<typename _Tp, unsigned _Uint, std::size_t _Size>
      |                                          ^~~
/usr/include/c++/11/type_traits:1386:23: error: '_Size' was not declared in this scope
 1386 |     struct extent<_Tp[_Size], _Uint>
      |                       ^~~~~
/usr/include/c++/11/type_traits:1386:36: error: template argument 1 is invalid
 1386 |     struct extent<_Tp[_Size], _Uint>
      |                                    ^
/usr/include/c++/11/type_traits:1387:37: error: 'size_t' is not a member of 'std'
 1387 |     : public integral_constant<std::size_t,
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1388:45: error: '_Size' was not declared in this scope
 1388 |                                _Uint == 0 ? _Size : extent<_Tp,
      |                                             ^~~~~
/usr/include/c++/11/type_traits:1389:77: error: template argument 1 is invalid
 1389 |                                                            _Uint - 1>::value>
      |                                                                             ^
/usr/include/c++/11/type_traits:1389:77: note: invalid template non-type parameter
/usr/include/c++/11/type_traits:1394:37: error: 'size_t' is not a member of 'std'
 1394 |     : public integral_constant<std::size_t,
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1396:73: error: template argument 1 is invalid
 1396 |                                                        _Uint - 1>::value>
      |                                                                         ^
/usr/include/c++/11/type_traits:1396:73: note: invalid template non-type parameter
/usr/include/c++/11/type_traits:1759:26: error: 'size_t' does not name a type
 1759 |       { static constexpr size_t __size = sizeof(_Tp); };
      |                          ^~~~~~
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/type_traits:1:1: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // C++11 <type_traits> -*- C++ -*-
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/type_traits:1761:14: error: 'size_t' has not been declared
 1761 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |              ^~~~~~
/usr/include/c++/11/type_traits:1761:48: error: '_Sz' was not declared in this scope
 1761 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |                                                ^~~
/usr/include/c++/11/type_traits:1762:14: error: no default argument for '_Tp'
 1762 |       struct __select;
      |              ^~~~~~~~
/usr/include/c++/11/type_traits:1764:14: error: 'size_t' has not been declared
 1764 |     template<size_t _Sz, typename _Uint, typename... _UInts>
      |              ^~~~~~
/usr/include/c++/11/type_traits:1765:23: error: '_Sz' was not declared in this scope
 1765 |       struct __select<_Sz, _List<_Uint, _UInts...>, true>
      |                       ^~~
/usr/include/c++/11/type_traits:1765:57: error: template argument 1 is invalid
 1765 |       struct __select<_Sz, _List<_Uint, _UInts...>, true>
      |                                                         ^
/usr/include/c++/11/type_traits:1768:14: error: 'size_t' has not been declared
 1768 |     template<size_t _Sz, typename _Uint, typename... _UInts>
      |              ^~~~~~
/usr/include/c++/11/type_traits:1769:23: error: '_Sz' was not declared in this scope
 1769 |       struct __select<_Sz, _List<_Uint, _UInts...>, false>
      |                       ^~~
/usr/include/c++/11/type_traits:1769:58: error: template argument 1 is invalid
 1769 |       struct __select<_Sz, _List<_Uint, _UInts...>, false>
      |                                                          ^
/usr/include/c++/11/type_traits:1770:18: error: '_Sz' was not declared in this scope
 1770 |       : __select<_Sz, _List<_UInts...>>
      |                  ^~~
/usr/include/c++/11/type_traits:1770:38: error: template argument 1 is invalid
 1770 |       : __select<_Sz, _List<_UInts...>>
      |                                      ^~
/usr/include/c++/11/type_traits:1761:60: error: '__size' is not a member of 'std::__make_unsigned_selector_base::_List<unsigned char, short unsigned int, unsigned int, long unsigned int, long long unsigned int>'
 1761 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |                                                            ^~~~~~
/usr/include/c++/11/type_traits:1783:68: error: template argument 3 is invalid
 1783 |       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
      |                                                                    ^
/usr/include/c++/11/type_traits:1787:47: error: '__unsigned_type' was not declared in this scope
 1787 |         = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
      |                                               ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1787:62: error: template argument 2 is invalid
 1787 |         = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
      |                                                              ^
/usr/include/c++/11/type_traits:1799:68: error: '__type' in 'class std::__make_unsigned_selector<wchar_t, false, true>' does not name a type
 1799 |         = typename __make_unsigned_selector<wchar_t, false, true>::__type;
      |                                                                    ^~~~~~
/usr/include/c++/11/type_traits:1816:69: error: '__type' in 'class std::__make_unsigned_selector<char16_t, false, true>' does not name a type
 1816 |         = typename __make_unsigned_selector<char16_t, false, true>::__type;
      |                                                                     ^~~~~~
/usr/include/c++/11/type_traits:1823:69: error: '__type' in 'class std::__make_unsigned_selector<char32_t, false, true>' does not name a type
 1823 |         = typename __make_unsigned_selector<char32_t, false, true>::__type;
      |                                                                     ^~~~~~
/usr/include/c++/11/type_traits: In instantiation of 'class std::__make_unsigned_selector<wchar_t, true, false>':
/usr/include/c++/11/type_traits:1912:62:   required from 'class std::__make_signed_selector<wchar_t, false, true>'
/usr/include/c++/11/type_traits:1927:57:   required from here
/usr/include/c++/11/type_traits:1744:13: error: no type named '__type' in 'struct std::__make_unsigned<wchar_t>'
 1744 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1748:13: error: no type named '__type' in 'struct std::__make_unsigned<wchar_t>'
 1748 |       using __type
      |             ^~~~~~
/usr/include/c++/11/type_traits:1927:66: error: invalid combination of multiple type-specifiers
 1927 |         = typename __make_signed_selector<wchar_t, false, true>::__type;
      |                                                                  ^~~~~~
/usr/include/c++/11/type_traits: In instantiation of 'class std::__make_unsigned_selector<char16_t, true, false>':
/usr/include/c++/11/type_traits:1912:62:   required from 'class std::__make_signed_selector<char16_t, false, true>'
/usr/include/c++/11/type_traits:1944:58:   required from here
/usr/include/c++/11/type_traits:1744:13: error: no type named '__type' in 'struct std::__make_unsigned<char16_t>'
 1744 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1748:13: error: no type named '__type' in 'struct std::__make_unsigned<char16_t>'
 1748 |       using __type
      |             ^~~~~~
/usr/include/c++/11/type_traits:1944:67: error: invalid combination of multiple type-specifiers
 1944 |         = typename __make_signed_selector<char16_t, false, true>::__type;
      |                                                                   ^~~~~~
/usr/include/c++/11/type_traits: In instantiation of 'class std::__make_unsigned_selector<char32_t, true, false>':
/usr/include/c++/11/type_traits:1912:62:   required from 'class std::__make_signed_selector<char32_t, false, true>'
/usr/include/c++/11/type_traits:1951:58:   required from here
/usr/include/c++/11/type_traits:1744:13: error: no type named '__type' in 'struct std::__make_unsigned<char32_t>'
 1744 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1748:13: error: no type named '__type' in 'struct std::__make_unsigned<char32_t>'
 1748 |       using __type
      |             ^~~~~~
/usr/include/c++/11/type_traits:1951:67: error: invalid combination of multiple type-specifiers
 1951 |         = typename __make_signed_selector<char32_t, false, true>::__type;
      |                                                                   ^~~~~~
/usr/include/c++/11/type_traits:1984:26: error: 'std::size_t' has not been declared
 1984 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:1985:30: error: '_Size' was not declared in this scope
 1985 |     struct remove_extent<_Tp[_Size]>
      |                              ^~~~~
/usr/include/c++/11/type_traits:1985:36: error: template argument 1 is invalid
 1985 |     struct remove_extent<_Tp[_Size]>
      |                                    ^
/usr/include/c++/11/type_traits:1997:26: error: 'std::size_t' has not been declared
 1997 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:1998:35: error: '_Size' was not declared in this scope
 1998 |     struct remove_all_extents<_Tp[_Size]>
      |                                   ^~~~~
/usr/include/c++/11/type_traits:1998:41: error: template argument 1 is invalid
 1998 |     struct remove_all_extents<_Tp[_Size]>
      |                                         ^
/usr/include/c++/11/type_traits:2056:12: error: 'std::size_t' has not been declared
 2056 |   template<std::size_t _Len>
      |            ^~~
/usr/include/c++/11/type_traits:2061:30: error: '_Len' was not declared in this scope
 2061 |         unsigned char __data[_Len];
      |                              ^~~~
/usr/include/c++/11/type_traits:2076:12: error: 'std::size_t' has not been declared
 2076 |   template<std::size_t _Len, std::size_t _Align =
      |            ^~~
/usr/include/c++/11/type_traits:2076:30: error: 'std::size_t' has not been declared
 2076 |   template<std::size_t _Len, std::size_t _Align =
      |                              ^~~
/usr/include/c++/11/type_traits:2077:55: error: '_Len' was not declared in this scope
 2077 |            __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                       ^~~~
/usr/include/c++/11/type_traits:2077:59: error: template argument 1 is invalid
 2077 |            __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                           ^
/usr/include/c++/11/type_traits:2082:30: error: '_Len' was not declared in this scope
 2082 |         unsigned char __data[_Len];
      |                              ^~~~
/usr/include/c++/11/type_traits:2083:44: error: '_Align' was not declared in this scope
 2083 |         struct __attribute__((__aligned__((_Align)))) { } __align;
      |                                            ^~~~~~
/usr/include/c++/11/type_traits:2090:20: error: 'size_t' does not name a type
 2090 |       static const size_t _S_alignment = 0;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2090:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2091:20: error: 'size_t' does not name a type
 2091 |       static const size_t _S_size = 0;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2091:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2097:20: error: 'size_t' does not name a type
 2097 |       static const size_t _S_alignment =
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2097:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2100:20: error: 'size_t' does not name a type
 2100 |       static const size_t _S_size =
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2100:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2115:13: error: 'size_t' has not been declared
 2115 |   template <size_t _Len, typename... _Types>
      |             ^~~~~~
/usr/include/c++/11/type_traits:2122:20: error: 'size_t' does not name a type
 2122 |       static const size_t _S_len = _Len > __strictest::_S_size
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2122:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2126:20: error: 'size_t' does not name a type
 2126 |       static const size_t alignment_value = __strictest::_S_alignment;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2126:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2128:40: error: '_S_len' was not declared in this scope
 2128 |       typedef typename aligned_storage<_S_len, alignment_value>::type type;
      |                                        ^~~~~~
/usr/include/c++/11/type_traits:2128:48: error: 'alignment_value' was not declared in this scope; did you mean 'alignment_of'?
 2128 |       typedef typename aligned_storage<_S_len, alignment_value>::type type;
      |                                                ^~~~~~~~~~~~~~~
      |                                                alignment_of
/usr/include/c++/11/type_traits:2128:63: error: template argument 1 is invalid
 2128 |       typedef typename aligned_storage<_S_len, alignment_value>::type type;
      |                                                               ^
/usr/include/c++/11/type_traits:2128:63: error: template argument 2 is invalid
/usr/include/c++/11/type_traits:2131:13: error: 'size_t' has not been declared
 2131 |   template <size_t _Len, typename... _Types>
      |             ^~~~~~
/usr/include/c++/11/type_traits:2132:11: error: 'size_t' does not name a type
 2132 |     const size_t aligned_union<_Len, _Types...>::alignment_value;
      |           ^~~~~~
/usr/include/c++/11/type_traits:2132:11: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2566:12: error: 'size_t' has not been declared
 2566 |   template<size_t _Len, size_t _Align =
      |            ^~~~~~
/usr/include/c++/11/type_traits:2566:25: error: 'size_t' has not been declared
 2566 |   template<size_t _Len, size_t _Align =
      |                         ^~~~~~
/usr/include/c++/11/type_traits:2567:56: error: '_Len' was not declared in this scope
 2567 |             __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                        ^~~~
/usr/include/c++/11/type_traits:2567:60: error: template argument 1 is invalid
 2567 |             __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                            ^
/usr/include/c++/11/type_traits:2568:56: error: '_Len' was not declared in this scope
 2568 |     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
      |                                                        ^~~~
/usr/include/c++/11/type_traits:2568:62: error: '_Align' was not declared in this scope
 2568 |     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
      |                                                              ^~~~~~
/usr/include/c++/11/type_traits:2568:68: error: template argument 1 is invalid
 2568 |     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
      |                                                                    ^
/usr/include/c++/11/type_traits:2568:68: error: template argument 2 is invalid
/usr/include/c++/11/type_traits:2570:13: error: 'size_t' has not been declared
 2570 |   template <size_t _Len, typename... _Types>
      |             ^~~~~~
/usr/include/c++/11/type_traits:2571:52: error: '_Len' was not declared in this scope
 2571 |     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
      |                                                    ^~~~
/usr/include/c++/11/type_traits:2571:67: error: template argument 1 is invalid
 2571 |     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
      |                                                                   ^
/usr/include/c++/11/type_traits:2680:26: error: 'size_t' has not been declared
 2680 |   template<typename _Tp, size_t _Nm>
      |                          ^~~~~~
/usr/include/c++/11/type_traits:2684:21: error: '_Nm' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/type_traits:2684:24: error: 'template<class _Tp, <declaration error> > std::__enable_if_t<std::__is_swappable<_Tp>::value> std::swap' conflicts with a previous declaration
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                        ^
/usr/include/c++/11/type_traits:2676:5: note: previous declaration 'std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&)'
 2676 |     swap(_Tp&, _Tp&)
      |     ^~~~
/usr/include/c++/11/type_traits:2684:16: error: '__a' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                ^~~
/usr/include/c++/11/type_traits:2684:21: error: '_Nm' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/type_traits:2684:33: error: '__b' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                 ^~~
/usr/include/c++/11/type_traits:2684:38: error: '_Nm' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                      ^~~
/usr/include/c++/11/type_traits:2684:43: error: expected ';' before 'noexcept'
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                           ^
      |                                           ;
 2685 |     noexcept(__is_nothrow_swappable<_Tp>::value);
      |     ~~~~~~~~                               
/usr/include/c++/11/type_traits:3244:20: error: 'size_t' does not name a type
 3244 |   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:3244:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:3246:20: error: 'size_t' does not name a type
 3246 |   inline constexpr size_t rank_v = rank<_Tp>::value;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:3246:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:3248:20: error: 'size_t' does not name a type
 3248 |   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:3248:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/move.h:212:26: error: 'size_t' has not been declared
  212 |   template<typename _Tp, size_t _Nm>
      |                          ^~~~~~
/usr/include/c++/11/bits/move.h:220:21: error: '_Nm' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/bits/move.h:220:24: error: 'template<class _Tp, <declaration error> > typename std::enable_if<std::__is_swappable<_Tp>::value, void>::type std::swap' conflicts with a previous declaration
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                        ^
/usr/include/c++/11/bits/move.h:196:5: note: previous declaration 'std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&)'
  196 |     swap(_Tp& __a, _Tp& __b)
      |     ^~~~
/usr/include/c++/11/bits/move.h:220:16: error: '__a' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                ^~~
/usr/include/c++/11/bits/move.h:220:21: error: '_Nm' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/bits/move.h:220:33: error: '__b' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                 ^~~
/usr/include/c++/11/bits/move.h:220:38: error: '_Nm' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                      ^~~
/usr/include/c++/11/bits/move.h:220:43: error: expected ';' before 'noexcept'
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                           ^
      |                                           ;
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/stl_pair.h:92:12: error: 'size_t' has not been declared
   92 |   template<size_t...>
      |            ^~~~~~
/usr/include/c++/11/bits/stl_pair.h:449:36: error: 'size_t' has not been declared
  449 |       template<typename... _Args1, size_t... _Indexes1,
      |                                    ^~~~~~
/usr/include/c++/11/bits/stl_pair.h:450:36: error: 'size_t' has not been declared
  450 |                typename... _Args2, size_t... _Indexes2>
      |                                    ^~~~~~
/usr/include/c++/11/bits/stl_pair.h:453:27: error: '_Indexes1' was not declared in this scope
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                           ^~~~~~~~~
/usr/include/c++/11/bits/stl_pair.h:453:36: error: expected parameter pack before '...'
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                    ^~~
/usr/include/c++/11/bits/stl_pair.h:453:39: error: template argument 1 is invalid
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                       ^
/usr/include/c++/11/bits/stl_pair.h:453:55: error: '_Indexes2' was not declared in this scope
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                                       ^~~~~~~~~
/usr/include/c++/11/bits/stl_pair.h:453:64: error: expected parameter pack before '...'
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                                                ^~~
/usr/include/c++/11/bits/stl_pair.h:453:67: error: template argument 1 is invalid
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                                                   ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:65,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/stl_iterator_base_types.h:125:67: error: 'ptrdiff_t' does not name a type
  125 |   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
      |                                                                   ^~~~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:65,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/stl_iterator_base_types.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // Types used in iterator implementation -*- C++ -*-
In file included from /usr/include/c++/11/bits/stl_algobase.h:65,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/stl_iterator_base_types.h:214:15: error: 'ptrdiff_t' does not name a type
  214 |       typedef ptrdiff_t                   difference_type;
      |               ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_types.h:214:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/bits/stl_iterator_base_types.h:225:15: error: 'ptrdiff_t' does not name a type
  225 |       typedef ptrdiff_t                   difference_type;
      |               ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_types.h:225:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/bits/stl_algobase.h:66,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:110:5: error: 'ptrdiff_t' does not name a type
  110 |     ptrdiff_t
      |     ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:66:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   65 | #include <debug/assertions.h>
  +++ |+#include <cstddef>
   66 | 
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:116:5: error: 'ptrdiff_t' does not name a type
  116 |     ptrdiff_t
      |     ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:116:5: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/bits/stl_iterator.h:67,
                 from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/ptr_traits.h:119:27: error: 'ptrdiff_t' was not declared in this scope
  119 |         = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>;
      |                           ^~~~~~~~~
/usr/include/c++/11/bits/ptr_traits.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // Pointer Traits -*- C++ -*-
/usr/include/c++/11/bits/ptr_traits.h:119:61: error: template argument 1 is invalid
  119 |         = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>;
      |                                                             ^
/usr/include/c++/11/bits/ptr_traits.h:138:15: error: 'ptrdiff_t' does not name a type
  138 |       typedef ptrdiff_t difference_type;
      |               ^~~~~~~~~
/usr/include/c++/11/bits/ptr_traits.h:138:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/vector:60,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/bits/stl_algobase.h:90:56: error: 'size_t' has not been declared
   90 |     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
      |                                                        ^~~~~~
/usr/include/c++/11/bits/stl_algobase.h: In static member function 'static _Tp* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(const _Tp*, const _Tp*, _Tp*)':
/usr/include/c++/11/bits/stl_algobase.h:429:17: error: 'ptrdiff_t' does not name a type
  429 |           const ptrdiff_t _Num = __last - __first;
      |                 ^~~~~~~~~
/usr/include/c++/11/bits/stl_algobase.h:72:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   71 | #include <bits/predefined_ops.h>
  +++ |+#include <cstddef>
   72 | #if __cplusplus >= 201103L
/usr/include/c++/11/bits/stl_algobase.h:430:15: error: '_Num' was not declared in this scope
  430 |           if (_Num)
      |               ^~~~
/usr/include/c++/11/bits/stl_algobase.h:432:29: error: '_Num' was not declared in this scope
  432 |           return __result + _Num;
      |                             ^~~~
/usr/include/c++/11/bits/stl_algobase.h: In static member function 'static _Tp* std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(const _Tp*, const _Tp*, _Tp*)':
/usr/include/c++/11/bits/stl_algobase.h:740:17: error: 'ptrdiff_t' does not name a type
  740 |           const ptrdiff_t _Num = __last - __first;
      |                 ^~~~~~~~~
/usr/include/c++/11/bits/stl_algobase.h:740:17: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/bits/stl_algobase.h:741:15: error: '_Num' was not declared in this scope
  741 |           if (_Num)
      |               ^~~~
/usr/include/c++/11/bits/stl_algobase.h:743:29: error: '_Num' was not declared in this scope
  743 |           return __result - _Num;
      |                             ^~~~
/usr/include/c++/11/bits/stl_algobase.h: In function 'typename __gnu_cxx::__enable_if<std::__is_byte<_Tp>::__value, void>::__type std::__fill_a1(_Tp*, _Tp*, const _Tp&)':
/usr/include/c++/11/bits/stl_algobase.h:943:24: error: expected initializer before '__len'
  943 |       if (const size_t __len = __last - __first)
      |                        ^~~~~
/usr/include/c++/11/bits/stl_algobase.h:943:23: error: expected ')' before '__len'
  943 |       if (const size_t __len = __last - __first)
      |          ~            ^~~~~~
      |                       )
/usr/include/c++/11/bits/stl_algobase.h:944:70: error: '__len' was not declared in this scope
  944 |         __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
      |                                                                      ^~~~~
/usr/include/c++/11/bits/stl_algobase.h: In static member function 'static bool std::__equal<true>::equal(const _Tp*, const _Tp*, const _Tp*)':
/usr/include/c++/11/bits/stl_algobase.h:1176:28: error: expected initializer before '__len'
 1176 |           if (const size_t __len = (__last1 - __first1))
      |                            ^~~~~
/usr/include/c++/11/bits/stl_algobase.h:1176:28: error: expected ')' before '__len'
/usr/include/c++/11/bits/stl_algobase.h:1176:14: note: to match this '('
 1176 |           if (const size_t __len = (__last1 - __first1))
      |              ^
/usr/include/c++/11/bits/stl_algobase.h:1177:55: error: '__len' was not declared in this scope
 1177 |             return !std::__memcmp(__first1, __first2, __len);
      |                                                       ^~~~~
/usr/include/c++/11/bits/stl_algobase.h: At global scope:
/usr/include/c++/11/bits/stl_algobase.h:1349:16: error: 'ptrdiff_t' does not name a type
 1349 |         static ptrdiff_t
      |                ^~~~~~~~~
/usr/include/c++/11/bits/stl_algobase.h:1349:16: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/ext/new_allocator.h:33,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33,
                 from /usr/include/c++/11/bits/allocator.h:46,
                 from /usr/include/c++/11/vector:64,
                 from doll.h:3,
                 from doll.cpp:225:
/usr/include/c++/11/new:89:25: error: found ':' in nested-name-specifier, expected '::'
   89 |   enum class align_val_t: size_t {};
      |                         ^
      |                         ::
/usr/include/c++/11/new:89:27: error: 'size_t' in 'enum class std::align_val_t' does not name a type
   89 |   enum class align_val_t: size_t {};
      |                           ^~~~~~
/usr/include/c++/11/new:89:34: error: expected unqualified-id before '{' token
   89 |   enum class align_val_t: size_t {};
      |                                  ^
/usr/include/c++/11/new:126:26: error: declaration of 'operator new' as non-function
  126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                          ^~~~~~~~
/usr/include/c++/11/new:126:44: error: 'size_t' is not a member of 'std'
  126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                                            ^~~~~~
/usr/include/c++/11/new:127:41: error: attributes after parenthesized initializer ignored [-fpermissive]
  127 |   __attribute__((__externally_visible__));
      |                                         ^
/usr/include/c++/11/new:128:26: error: declaration of 'operator new []' as non-function
  128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                          ^~~~~~~~
/usr/include/c++/11/new:128:46: error: 'size_t' is not a member of 'std'
  128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                                              ^~~~~~
/usr/include/c++/11/new:129:41: error: attributes after parenthesized initializer ignored [-fpermissive]
  129 |   __attribute__((__externally_visible__));
      |                                         ^
/usr/include/c++/11/new:135:29: error: 'std::size_t' has not been declared
  135 | void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
      |                             ^~~
/usr/include/c++/11/new:137:31: error: 'std::size_t' has not been declared
  137 | void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
      |                               ^~~
/usr/include/c++/11/new:140:26: error: declaration of 'operator new' as non-function
  140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                          ^~~~~~~~
/usr/include/c++/11/new:140:44: error: 'size_t' is not a member of 'std'
  140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                            ^~~~~~
/usr/include/c++/11/new:140:52: error: expected primary-expression before 'const'
  140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                                    ^~~~~
/usr/include/c++/11/new:142:26: error: declaration of 'operator new []' as non-function
  142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                          ^~~~~~~~
/usr/include/c++/11/new:142:46: error: 'size_t' is not a member of 'std'
  142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                              ^~~~~~
/usr/include/c++/11/new:142:54: error: expected primary-expression before 'const'
  142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                                      ^~~~~
/usr/include/c++/11/new:149:26: error: declaration of 'operator new' as non-function
  149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t)
      |                          ^~~~~~~~
/usr/include/c++/11/new:149:44: error: 'size_t' is not a member of 'std'
  149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t)
      |                                            ^~~~~~
/usr/include/c++/11/new:149:68: error: expected primary-expression before ')' token
  149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t)
      |                                                                    ^
/usr/include/c++/11/new:150:73: error: attributes after parenthesized initializer ignored [-fpermissive]
  150 |   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
      |                                                                         ^
/usr/include/c++/11/new:151:26: error: declaration of 'operator new' as non-function
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                          ^~~~~~~~
/usr/include/c++/11/new:151:44: error: 'size_t' is not a member of 'std'
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                            ^~~~~~
/usr/include/c++/11/new:151:68: error: expected primary-expression before ',' token
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                    ^
/usr/include/c++/11/new:151:70: error: expected primary-expression before 'const'
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                      ^~~~~
/usr/include/c++/11/new:157:26: error: declaration of 'operator new []' as non-function
  157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t)
      |                          ^~~~~~~~
/usr/include/c++/11/new:157:46: error: 'size_t' is not a member of 'std'
  157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t)
      |                                              ^~~~~~
/usr/include/c++/11/new:157:70: error: expected primary-expression before ')' token
  157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t)
      |                                                                      ^
/usr/include/c++/11/new:158:73: error: attributes after parenthesized initializer ignored [-fpermissive]
  158 |   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
      |                                                                         ^
/usr/include/c++/11/new:159:26: error: declaration of 'operator new []' as non-function
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                          ^~~~~~~~
/usr/include/c++/11/new:159:46: error: 'size_t' is not a member of 'std'
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                              ^~~~~~
/usr/include/c++/11/new:159:70: error: expected primary-expression before ',' token
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                      ^
/usr/include/c++/11/new:159:72: error: expected primary-expression before 'const'
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                        ^~~~~
/usr/include/c++/11/new:166:29: error: 'std::size_t' has not been declared
  166 | void operator delete(void*, std::size_t, std::align_val_t)
      |                             ^~~
/usr/include/c++/11/new:168:31: error: 'std::size_t' has not been declared
  168 | void operator delete[](void*, std::size_t, std::align_val_t)
      |                               ^~~
/usr/include/c++/11/new:174:33: error: declaration of 'operator new' as non-function
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                 ^~~~~~~~
/usr/include/c++/11/new:174:51: error: 'size_t' is not a member of 'std'
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBC