Submission #1281813

#TimeUsernameProblemLanguageResultExecution timeMemory
1281813lamCookies (JOI23_cookies)C++20
Compilation error
0 ms0 KiB
## GPT5-Pro Code // cookies.cpp #include <bits/stdc++.h> using namespace std; using ull = unsigned long long; struct BitsetVec { // dynamic bitset stored as vector<ull>, length in bits = Lbits int Lbits, W; vector<ull> a; BitsetVec() : Lbits(0), W(0) {} BitsetVec(int Lbits_) : Lbits(Lbits_) { W = (Lbits + 63) >> 6; a.assign(W, 0ULL); } inline void reset() { std::fill(a.begin(), a.end(), 0ULL); } inline void set0() { if (!a.empty()) a[0] |= 1ULL; } inline bool test(int k) const { if (k < 0 || k > Lbits) return false; int w = k >> 6, b = k & 63; if (w >= W) return false; return (a[w] >> b) & 1ULL; } inline void trim_to(int limitBits) { // keep bits 0..limitBits if (limitBits >= Lbits) return; // nothing to trim int last = limitBits >> 6, r = limitBits & 63; for (int i = last + 1; i < W; ++i) a[i] = 0ULL; ull mask = (r == 63 ? ~0ULL : ((1ULL << (r + 1)) - 1ULL)); if (last < W) a[last] &= mask; for (int i = last + 1; i < W; ++i) a[i] = 0ULL; } }; // OR into dst: (src << shift), truncated to limitBits static inline void or_shift_trunc(vector<ull>& dst, const vector<ull>& src, int shift, int limitBits) { if (shift == 0) { int Wlim = ((limitBits + 63) >> 6); for (int i = 0; i < Wlim && i < (int)dst.size() && i < (int)src.size(); ++i) dst[i] |= src[i]; if (Wlim < (int)dst.size()) dst[Wlim] = 0; // will be masked below } else { int ws = shift >> 6, bs = shift & 63; int Wdst = (limitBits + 63) >> 6; for (int i = Wdst; i >= 0; --i) { ull x = 0; int j = i - ws; if (j >= 0 && j < (int)src.size()) { x = (bs == 0 ? src[j] : (src[j] << bs)); if (bs != 0 && j - 1 >= 0) x |= (src[j - 1] >> (64 - bs)); } else if (bs != 0 && j - 1 >= 0 && j - 1 < (int)src.size()) { x = (src[j - 1] >> (64 - bs)); } else { x = 0; } if (i < (int)dst.size()) dst[i] |= x; } } // mask dst to 0..limitBits int last = limitBits >> 6, r = limitBits & 63; if (last < (int)dst.size()) { ull mask = (r == 63 ? ~0ULL : ((1ULL << (r + 1)) - 1ULL)); dst[last] &= mask; for (int i = last + 1; i < (int)dst.size(); ++i) dst[i] = 0ULL; } } // Same as above, but also return "added bits" via a lambda for backtracking. template<class RecLambda> static inline void or_shift_trunc_record(vector<ull>& dst, const vector<ull>& src, int shift, int limitBits, RecLambda rec) { int last = limitBits >> 6, r = limitBits & 63; if (shift == 0) { for (int i = 0; i <= last && i < (int)dst.size() && i < (int)src.size(); ++i) { ull x = src[i]; if (i == last && r != 63) x &= ((1ULL << (r + 1)) - 1ULL); ull old = dst[i]; ull add = x & (~old); if (add) { int base = (i << 6); while (add) { int b = __builtin_ctzll(add); rec(base + b); // position set newly add &= add - 1; } } dst[i] = old | x; } // clear above limit if (last < (int)dst.size()) { for (int i = last + 1; i < (int)dst.size(); ++i) dst[i] = 0ULL; } return; } int ws = shift >> 6, bs = shift & 63; for (int i = last; i >= 0; --i) { ull x = 0; int j = i - ws; if (j >= 0 && j < (int)src.size()) { x = (bs == 0 ? src[j] : (src[j] << bs)); if (bs != 0 && j - 1 >= 0) x |= (src[j - 1] >> (64 - bs)); } else if (bs != 0 && j - 1 >= 0 && j - 1 < (int)src.size()) { x = (src[j - 1] >> (64 - bs)); } else { x = 0; } if (i == last && r != 63) x &= ((1ULL << (r + 1)) - 1ULL); ull old = dst[i]; ull add = x & (~old); if (add) { int base = (i << 6); while (add) { int b = __builtin_ctzll(add); rec(base + b); add &= add - 1; } } dst[i] = old | x; } for (int i = last + 1; i < (int)dst.size(); ++i) dst[i] = 0ULL; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; if (!(cin >> N)) return 0; vector<int> A(N); long long Sll = 0; for (int i = 0; i < N; ++i) { cin >> A[i]; Sll += A[i]; } int M; cin >> M; vector<int> B(M); for (int j = 0; j < M; ++j) cin >> B[j]; int S = (int)Sll; // Edge: S==0 (not possible per constraints Ai>=1) if (S == 0) { cout << 0 << "\n"; return 0; } // Allowed sizes (bounded by N and by S) sort(B.begin(), B.end()); B.erase(unique(B.begin(), B.end()), B.end()); vector<int> sizes; sizes.reserve(B.size()); for (int x : B) if (x >= 1 && x <= N && x <= S) sizes.push_back(x); if (sizes.empty()) { cout << -1 << "\n"; return 0; } sort(sizes.begin(), sizes.end(), greater<int>()); // Compute F(t) = sum_i min(Ai, t) for t=0..S vector<int> cnt(S + 1, 0); for (int x : A) { if (x <= S) cnt[x]++; else cnt[S]++; } // Ai <= S always, but safe vector<int> atLeast(S + 1, 0); // atLeast[t] = #i with Ai >= t int cum = 0; for (int t = S; t >= 1; --t) { cum += cnt[t]; atLeast[t] = cum; } vector<int> F(S + 1, 0); for (int t = 1; t <= S; ++t) { long long v = (long long)F[t - 1] + atLeast[t]; if (v > S) v = S; // saturate to S F[t] = (int)v; } int maxA = 0; for (int x : A) maxA = max(maxA, x); // Quick necessary conditions (helpful short-circuits) // gcd of sizes must divide S int g = sizes[0]; for (int i = 1; i < (int)sizes.size(); ++i) g = std::gcd(g, sizes[i]); if (S % g != 0) { cout << -1 << "\n"; return 0; } // Also obvious: must have maxA <= #boxes chosen; our DP enforces this via F, so no extra check. // Prepare DP bitsets dp[i] over sums (0..S) const int Lbits = S; // we manage indices 0..S const int W = (Lbits + 63) >> 6; vector<BitsetVec> dp(S + 1, BitsetVec(Lbits)); dp[0].a[0] |= 1ULL; // First pass: find minimal x (number of boxes) for (int s : sizes) { int iLim = S / s; // only these i can get new contributions using size s (see editorial) // For i from 1..iLim: dp[i] |= dp[i-1] << s for (int i = 1; i <= iLim; ++i) { or_shift_trunc(dp[i].a, dp[i - 1].a, s, F[i]); } // dp[i>iLim] just carry (already trimmed in earlier iterations) } int x = -1; for (int i = maxA; i <= S; ++i) { if (dp[i].test(S)) { x = i; break; } } if (x == -1) { cout << -1 << "\n"; return 0; } // Second pass: reconstruct sizes used for (x, S). // Only keep dp up to i=x and record parent size for first time a (i,k) becomes reachable. vector<BitsetVec> dp2(x + 1, BitsetVec(Lbits)); dp2[0].a[0] |= 1ULL; // parent[i][k] = size j used last to reach k with i boxes (0 if unset) vector<vector<unsigned short>> parent(x + 1); for (int i = 0; i <= x; ++i) parent[i].assign(F[i] + 1, 0); for (int s : sizes) { int iLim = min(x, S / s); for (int i = 1; i <= iLim; ++i) { // incorporate (dp2[i-1] << s) into dp2[i], and record which k newly set or_shift_trunc_record(dp2[i].a, dp2[i - 1].a, s, F[i], [&](int kpos){ if (kpos <= F[i]) parent[i][kpos] = (unsigned short)s; } ); } } if (!dp2[x].test(S)) { // Should never happen cout << -1 << "\n"; return 0; } // Backtrack to get counts of each size unordered_map<int,int> cntSize; cntSize.reserve(sizes.size()*2); int curI = x, curK = S; while (curI > 0) { unsigned short s = parent[curI][curK]; // Because we used "first-touch", s is guaranteed non-zero ++cntSize[(int)s]; curK -= (int)s; --curI; } // Build actual boxes with those sizes and fill them greedily by remaining capacity struct Box { int cap, rem, id; vector<int> types; }; vector<Box> boxes; boxes.reserve(x); int id = 0; for (int s : sizes) { int c = cntSize[s]; for (int t = 0; t < c; ++t) { boxes.push_back(Box{s, s, id++, {}}); } } // Sanity if ((int)boxes.size() != x) { cout << -1 << "\n"; return 0; } // Max-heap by remaining capacity struct Node { int rem, idx; bool operator<(const Node& o) const { return rem < o.rem; } }; priority_queue<Node> pq; for (int i = 0; i < x; ++i) pq.push(Node{boxes[i].rem, i}); // order types by Ai descending to make greedy robust vector<int> ord(N); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), [&](int u, int v){ return A[u] > A[v]; }); for (int u : ord) { int need = A[u]; if (need == 0) continue; if (need > x) { cout << -1 << "\n"; return 0; } // should not happen vector<Node> taken; taken.reserve(need); for (int t = 0; t < need; ++t) { if (pq.empty() || pq.top().rem <= 0) { cout << -1 << "\n"; return 0; } Node nd = pq.top(); pq.pop(); taken.push_back(nd); } for (auto nd : taken) { boxes[nd.idx].types.push_back(u + 1); // 1-based type id boxes[nd.idx].rem = nd.rem - 1; if (boxes[nd.idx].rem > 0) pq.push(Node{boxes[nd.idx].rem, nd.idx}); } } // Final sanity for (auto &b : boxes) if (b.rem != 0 || (int)b.types.size() != b.cap) { cout << -1 << "\n"; return 0; } // Output cout << x << "\n"; for (auto &b : boxes) { cout << b.cap; for (int v : b.types) cout << " " << v; cout << "\n"; } return 0; }

Compilation message (stderr)

cookies.cpp:1:1: error: stray '##' in program
    1 | ## GPT5-Pro Code
      | ^~
cookies.cpp:1:4: error: 'GPT5' does not name a type
    1 | ## GPT5-Pro Code
      |    ^~~~
In file included from /usr/include/c++/13/bits/stl_algobase.h:62,
                 from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from cookies.cpp:3:
/usr/include/c++/13/ext/type_traits.h:164:35: error: 'constexpr const bool __gnu_cxx::__is_null_pointer' redeclared as different kind of entity
  164 |   __is_null_pointer(std::nullptr_t)
      |                                   ^
/usr/include/c++/13/ext/type_traits.h:159:5: note: previous declaration 'template<class _Type> constexpr bool __gnu_cxx::__is_null_pointer(_Type)'
  159 |     __is_null_pointer(_Type)
      |     ^~~~~~~~~~~~~~~~~
/usr/include/c++/13/ext/type_traits.h:164:26: error: 'nullptr_t' is not a member of 'std'; did you mean 'nullptr_t'?
  164 |   __is_null_pointer(std::nullptr_t)
      |                          ^~~~~~~~~
In file included from /usr/include/c++/13/cstddef:50,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:41:
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:443:29: note: 'nullptr_t' declared here
  443 |   typedef decltype(nullptr) nullptr_t;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/13/bits/stl_pair.h:60,
                 from /usr/include/c++/13/bits/stl_algobase.h:64:
/usr/include/c++/13/type_traits:510:26: error: 'std::size_t' has not been declared
  510 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/type_traits:511:25: error: '_Size' was not declared in this scope
  511 |     struct is_array<_Tp[_Size]>
      |                         ^~~~~
/usr/include/c++/13/type_traits:511:31: error: template argument 1 is invalid
  511 |     struct is_array<_Tp[_Size]>
      |                               ^
/usr/include/c++/13/type_traits:617:33: error: 'nullptr_t' is not a member of 'std'; did you mean 'nullptr_t'?
  617 |     struct is_null_pointer<std::nullptr_t>
      |                                 ^~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:443:29: note: 'nullptr_t' declared here
  443 |   typedef decltype(nullptr) nullptr_t;
      |                             ^~~~~~~~~
/usr/include/c++/13/type_traits:617:42: error: template argument 1 is invalid
  617 |     struct is_null_pointer<std::nullptr_t>
      |                                          ^
/usr/include/c++/13/type_traits:621:48: error: template argument 1 is invalid
  621 |     struct is_null_pointer<const std::nullptr_t>
      |                                                ^
/usr/include/c++/13/type_traits:625:51: error: template argument 1 is invalid
  625 |     struct is_null_pointer<volatile std::nullptr_t>
      |                                                   ^
/usr/include/c++/13/type_traits:629:57: error: template argument 1 is invalid
  629 |     struct is_null_pointer<const volatile std::nullptr_t>
      |                                                         ^
/usr/include/c++/13/type_traits:1348:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
 1348 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/type_traits:1348:57: error: template argument 1 is invalid
 1348 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                                         ^
/usr/include/c++/13/type_traits:1357:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
 1357 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/type_traits:1357:46: error: template argument 1 is invalid
 1357 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/13/type_traits:1359:26: error: 'std::size_t' has not been declared
 1359 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/type_traits:1360:21: error: '_Size' was not declared in this scope
 1360 |     struct rank<_Tp[_Size]>
      |                     ^~~~~
/usr/include/c++/13/type_traits:1360:27: error: template argument 1 is invalid
 1360 |     struct rank<_Tp[_Size]>
      |                           ^
/usr/include/c++/13/type_traits:1361:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
 1361 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/type_traits:1361:65: error: template argument 1 is invalid
 1361 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/13/type_traits:1365:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
 1365 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/type_traits:1365:65: error: template argument 1 is invalid
 1365 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/13/type_traits:1993:26: error: 'std::size_t' has not been declared
 1993 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/type_traits:1994:30: error: '_Size' was not declared in this scope
 1994 |     struct remove_extent<_Tp[_Size]>
      |                              ^~~~~
/usr/include/c++/13/type_traits:1994:36: error: template argument 1 is invalid
 1994 |     struct remove_extent<_Tp[_Size]>
      |                                    ^
/usr/include/c++/13/type_traits:2006:26: error: 'std::size_t' has not been declared
 2006 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/type_traits:2007:35: error: '_Size' was not declared in this scope
 2007 |     struct remove_all_extents<_Tp[_Size]>
      |                                   ^~~~~
/usr/include/c++/13/type_traits:2007:41: error: template argument 1 is invalid
 2007 |     struct remove_all_extents<_Tp[_Size]>
      |                                         ^
/usr/include/c++/13/type_traits:2072:12: error: 'std::size_t' has not been declared
 2072 |   template<std::size_t _Len>
      |            ^~~
/usr/include/c++/13/type_traits:2077:30: error: '_Len' was not declared in this scope
 2077 |         unsigned char __data[_Len];
      |                              ^~~~
/usr/include/c++/13/type_traits:2095:12: error: 'std::size_t' has not been declared
 2095 |   template<std::size_t _Len, std::size_t _Align =
      |            ^~~
/usr/include/c++/13/type_traits:2095:30: error: 'std::size_t' has not been declared
 2095 |   template<std::size_t _Len, std::size_t _Align =
      |                              ^~~
/usr/include/c++/13/type_traits:2096:55: error: '_Len' was not declared in this scope
 2096 |            __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                       ^~~~
/usr/include/c++/13/type_traits:2096:59: error: template argument 1 is invalid
 2096 |            __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                           ^
/usr/include/c++/13/type_traits:2103:30: error: '_Len' was not declared in this scope
 2103 |         unsigned char __data[_Len];
      |                              ^~~~
/usr/include/c++/13/type_traits:2104:44: error: '_Align' was not declared in this scope
 2104 |         struct __attribute__((__aligned__((_Align)))) { } __align;
      |                                            ^~~~~~
In file included from /usr/include/c++/13/bits/stl_iterator.h:82,
                 from /usr/include/c++/13/bits/stl_algobase.h:67:
/usr/include/c++/13/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++/13/new:126:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                                            ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/new:127:41: error: attributes after parenthesized initializer ignored [-fpermissive]
  127 |   __attribute__((__externally_visible__));
      |                                         ^
/usr/include/c++/13/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++/13/new:128:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                                              ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/new:129:41: error: attributes after parenthesized initializer ignored [-fpermissive]
  129 |   __attribute__((__externally_visible__));
      |                                         ^
/usr/include/c++/13/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++/13/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++/13/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++/13/new:140:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                            ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/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++/13/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++/13/new:142:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                              ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/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++/13/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++/13/new:149:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t)
      |                                            ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/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++/13/new:150:73: error: attributes after parenthesized initializer ignored [-fpermissive]
  150 |   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
      |                                                                         ^
/usr/include/c++/13/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++/13/new:151:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                            ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/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++/13/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++/13/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++/13/new:157:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t)
      |                                              ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/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++/13/new:158:73: error: attributes after parenthesized initializer ignored [-fpermissive]
  158 |   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
      |                                                                         ^
/usr/include/c++/13/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++/13/new:159:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                              ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/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++/13/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++/13/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++/13/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++/13/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++/13/new:174:51: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                   ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/new:174:59: error: expected primary-expression before 'void'
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                           ^~~~
/usr/include/c++/13/new:176:33: error: declaration of 'operator new []' as non-function
  176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                 ^~~~~~~~
/usr/include/c++/13/new:176:53: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/new:176:61: error: expected primary-expression before 'void'
  176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                             ^~~~
In file included from /usr/include/c++/13/bits/stl_algo.h:69,
                 from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_tempbuf.h: In function 'std::pair<_Tp*, long int> std::get_temporary_buffer(ptrdiff_t)':
/usr/include/c++/13/bits/stl_tempbuf.h:113:56: error: no matching function for call to 'operator new(long unsigned int, const std::nothrow_t&)'
  113 |           _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
      |                                          ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
  114 |                                                         std::nothrow));
      |                                                         ~~~~~~~~~~~~~
<built-in>: note: candidate: 'void* operator new(long unsigned int)'
<built-in>: note:   candidate expects 1 argument, 2 provided
<built-in>: note: candidate: 'void* operator new(long unsigned int, std::align_val_t)'
<built-in>: note:   no known conversion for argument 2 from 'const std::nothrow_t' to 'std::align_val_t'
In file included from /usr/include/c++/13/string:42,
                 from /usr/include/c++/13/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:52:
/usr/include/c++/13/bits/char_traits.h: At global scope:
/usr/include/c++/13/bits/char_traits.h:144:61: error: 'std::size_t' has not been declared
  144 |       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
      |                                                             ^~~
/usr/include/c++/13/bits/char_traits.h:146:40: error: 'size_t' in namespace 'std' does not name a type
  146 |       static _GLIBCXX14_CONSTEXPR std::size_t
      |                                        ^~~~~~
/usr/include/c++/13/bits/char_traits.h:150:34: error: 'std::size_t' has not been declared
  150 |       find(const char_type* __s, std::size_t __n, const char_type& __a);
      |                                  ^~~
/usr/include/c++/13/bits/char_traits.h:153:52: error: 'std::size_t' has not been declared
  153 |       move(char_type* __s1, const char_type* __s2, std::size_t __n);
      |                                                    ^~~
/usr/include/c++/13/bits/char_traits.h:156:52: error: 'std::size_t' has not been declared
  156 |       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
      |                                                    ^~~
/usr/include/c++/13/bits/char_traits.h:159:30: error: 'std::size_t' has not been declared
  159 |       assign(char_type* __s, std::size_t __n, char_type __a);
      |                              ^~~
/usr/include/c++/13/bits/char_traits.h:187:59: error: 'std::size_t' has not been declared
  187 |     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
      |                                                           ^~~
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr int __gnu_cxx::char_traits<_CharT>::compare(const char_type*, const char_type*, int)':
/usr/include/c++/13/bits/char_traits.h:189:17: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  189 |       for (std::size_t __i = 0; __i < __n; ++__i)
      |                 ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/bits/char_traits.h:189:33: error: '__i' was not declared in this scope; did you mean '__n'?
  189 |       for (std::size_t __i = 0; __i < __n; ++__i)
      |                                 ^~~
      |                                 __n
/usr/include/c++/13/bits/char_traits.h: At global scope:
/usr/include/c++/13/bits/char_traits.h:198:31: error: 'size_t' in namespace 'std' does not name a type
  198 |     _GLIBCXX14_CONSTEXPR std::size_t
      |                               ^~~~~~
/usr/include/c++/13/bits/char_traits.h:211:32: error: 'std::size_t' has not been declared
  211 |     find(const char_type* __s, std::size_t __n, const char_type& __a)
      |                                ^~~
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr const __gnu_cxx::char_traits<_CharT>::char_type* __gnu_cxx::char_traits<_CharT>::find(const char_type*, int, const char_type&)':
/usr/include/c++/13/bits/char_traits.h:213:17: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  213 |       for (std::size_t __i = 0; __i < __n; ++__i)
      |                 ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/bits/char_traits.h:213:33: error: '__i' was not declared in this scope; did you mean '__s'?
  213 |       for (std::size_t __i = 0; __i < __n; ++__i)
      |                                 ^~~
      |                                 __s
/usr/include/c++/13/bits/char_traits.h: At global scope:
/usr/include/c++/13/bits/char_traits.h:223:50: error: 'std::size_t' has not been declared
  223 |     move(char_type* __s1, const char_type* __s2, std::size_t __n)
      |                                                  ^~~
/usr/include/c++/13/bits/char_traits.h:254:50: error: 'std::size_t' has not been declared
  254 |     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
      |                                                  ^~~
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr __gnu_cxx::char_traits<_CharT>::char_type* __gnu_cxx::char_traits<_CharT>::copy(char_type*, const char_type*, int)':
/usr/include/c++/13/bits/char_traits.h:261:21: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  261 |           for (std::size_t __i = 0; __i < __n; ++__i)
      |                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/bits/char_traits.h:261:37: error: '__i' was not declared in this scope; did you mean '__n'?
  261 |           for (std::size_t __i = 0; __i < __n; ++__i)
      |                                     ^~~
      |                                     __n
/usr/include/c++/13/bits/char_traits.h: At global scope:
/usr/include/c++/13/bits/char_traits.h:274:28: error: 'std::size_t' has not been declared
  274 |     assign(char_type* __s, std::size_t __n, char_type __a)
      |                            ^~~
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr __gnu_cxx::char_traits<_CharT>::char_type* __gnu_cxx::char_traits<_CharT>::assign(char_type*, int, char_type)':
/usr/include/c++/13/bits/char_traits.h:279:21: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  279 |           for (std::size_t __i = 0; __i < __n; ++__i)
      |                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/bits/char_traits.h:279:37: error: '__i' was not declared in this scope; did you mean '__s'?
  279 |           for (std::size_t __i = 0; __i < __n; ++__i)
      |                                     ^~~
      |                                     __s
/usr/include/c++/13/bits/char_traits.h:296:21: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  296 |           for (std::size_t __i = 0; __i < __n; ++__i)
      |                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/bits/char_traits.h:296:37: error: '__i' was not declared in this scope; did you mean '__s'?
  296 |           for (std::size_t __i = 0; __i < __n; ++__i)
      |                                     ^~~
      |                                     __s
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr void std::char_traits<char>::assign(char_type&, const char_type&)':
/usr/include/c++/13/bits/char_traits.h:355:28: error: no matching function for call to 'construct_at(std::char_traits<char>::char_type*, const std::char_traits<char>::char_type&)'
  355 |           std::construct_at(__builtin_addressof(__c1), __c2);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/bits/stl_iterator.h:85:
/usr/include/c++/13/bits/stl_construct.h:94:5: note: candidate: 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)'
   94 |     construct_at(_Tp* __location, _Args&&... __args)
      |     ^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h: In substitution of 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = char; _Args = {const char&}]':
/usr/include/c++/13/bits/char_traits.h:355:21:   required from here
/usr/include/c++/13/bits/stl_construct.h:96:17: error: no matching function for call to 'operator new(sizetype, void*)'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<built-in>: note: candidate: 'void* operator new(long unsigned int)'
<built-in>: note:   candidate expects 1 argument, 2 provided
<built-in>: note: candidate: 'void* operator new(long unsigned int, std::align_val_t)'
<built-in>: note:   no known conversion for argument 2 from 'void*' to 'std::align_val_t'
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr size_t std::char_traits<char>::length(const char_type*)':
/usr/include/c++/13/bits/char_traits.h:397:53: error: 'length' is not a member of '__gnu_cxx::char_traits<char>'
  397 |           return __gnu_cxx::char_traits<char_type>::length(__s);
      |                                                     ^~~~~~
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr void std::char_traits<wchar_t>::assign(char_type&, const char_type&)':
/usr/include/c++/13/bits/char_traits.h:497:28: error: no matching function for call to 'construct_at(std::char_traits<wchar_t>::char_type*, const std::char_traits<wchar_t>::char_type&)'
  497 |           std::construct_at(__builtin_addressof(__c1), __c2);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note: candidate: 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)'
   94 |     construct_at(_Tp* __location, _Args&&... __args)
      |     ^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h: In substitution of 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = wchar_t; _Args = {const wchar_t&}]':
/usr/include/c++/13/bits/char_traits.h:497:21:   required from here
/usr/include/c++/13/bits/stl_construct.h:96:17: error: no matching function for call to 'operator new(sizetype, void*)'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<built-in>: note: candidate: 'void* operator new(long unsigned int)'
<built-in>: note:   candidate expects 1 argument, 2 provided
<built-in>: note: candidate: 'void* operator new(long unsigned int, std::align_val_t)'
<built-in>: note:   no known conversion for argument 2 from 'void*' to 'std::align_val_t'
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr size_t std::char_traits<wchar_t>::length(const char_type*)':
/usr/include/c++/13/bits/char_traits.h:528:53: error: 'length' is not a member of '__gnu_cxx::char_traits<wchar_t>'
  528 |           return __gnu_cxx::char_traits<char_type>::length(__s);
      |                                                     ^~~~~~
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr void std::char_traits<char8_t>::assign(char_type&, const char_type&)':
/usr/include/c++/13/bits/char_traits.h:629:28: error: no matching function for call to 'construct_at(std::char_traits<char8_t>::char_type*, const std::char_traits<char8_t>::char_type&)'
  629 |           std::construct_at(__builtin_addressof(__c1), __c2);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note: candidate: 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)'
   94 |     construct_at(_Tp* __location, _Args&&... __args)
      |     ^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h: In substitution of 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = char8_t; _Args = {const char8_t&}]':
/usr/include/c++/13/bits/char_traits.h:629:21:   required from here
/usr/include/c++/13/bits/stl_construct.h:96:17: error: no matching function for call to 'operator new(sizetype, void*)'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<built-in>: note: candidate: 'void* operator new(long unsigned int)'
<built-in>: note:   candidate expects 1 argument, 2 provided
<built-in>: note: candidate: 'void* operator new(long unsigned int, std::align_val_t)'
<built-in>: note:   no known conversion for argument 2 from 'void*' to 'std::align_val_t'
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr size_t std::char_traits<char8_t>::length(const char_type*)':
/usr/include/c++/13/bits/char_traits.h:660:53: error: 'length' is not a member of '__gnu_cxx::char_traits<char8_t>'
  660 |           return __gnu_cxx::char_traits<char_type>::length(__s);
      |                                                     ^~~~~~
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr void std::char_traits<char16_t>::assign(char_type&, const char_type&)':
/usr/include/c++/13/bits/char_traits.h:774:28: error: no matching function for call to 'construct_at(std::char_traits<char16_t>::char_type*, const std::char_traits<char16_t>::char_type&)'
  774 |           std::construct_at(__builtin_addressof(__c1), __c2);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note: candidate: 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)'
   94 |     construct_at(_Tp* __location, _Args&&... __args)
      |     ^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h: In substitution of 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = char16_t; _Args = {const char16_t&}]':
/usr/include/c++/13/bits/char_traits.h:774:21:   required from here
/usr/include/c++/13/bits/stl_construct.h:96:17: error: no matching function for call to 'operator new(sizetype, void*)'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<built-in>: note: candidate: 'void* operator new(long unsigned int)'
<built-in>: note:   candidate expects 1 argument, 2 provided
<built-in>: note: candidate: 'void* operator new(long unsigned int, std::align_val_t)'
<built-in>: note:   no known conversion for argument 2 from 'void*' to 'std::align_val_t'
/usr/include/c++/13/bits/char_traits.h: In static member function 'static constexpr void std::char_traits<char32_t>::assign(char_type&, const char_type&)':
/usr/include/c++/13/bits/char_traits.h:903:28: error: no matching function for call to 'construct_at(std::char_traits<char32_t>::char_type*, const std::char_traits<char32_t>::char_type&)'
  903 |           std::construct_at(__builtin_addressof(__c1), __c2);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note: candidate: 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)'
   94 |     construct_at(_Tp* __location, _Args&&... __args)
      |     ^~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:94:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h: In substitution of 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = char32_t; _Args = {const char32_t&}]':
/usr/include/c++/13/bits/char_traits.h:903:21:   required from here
/usr/include/c++/13/bits/stl_construct.h:96:17: error: no matching function for call to 'operator new(sizetype, void*)'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<built-in>: note: candidate: 'void* operator new(long unsigned int)'
<built-in>: note:   candidate expects 1 argument, 2 provided
<built-in>: note: candidate: 'void* operator new(long unsigned int, std::align_val_t)'
<built-in>: note:   no known conversion for argument 2 from 'void*' to 'std::align_val_t'
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h:33,
                 from /usr/include/c++/13/bits/allocator.h:46,
                 from /usr/include/c++/13/string:43:
/usr/include/c++/13/bits/new_allocator.h: At global scope:
/usr/include/c++/13/bits/new_allocator.h:67:20: error: 'size_t' in namespace 'std' does not name a type
   67 |       typedef std::size_t     size_type;
      |                    ^~~~~~
/usr/include/c++/13/bits/new_allocator.h:68:20: error: 'ptrdiff_t' in namespace 'std' does not name a type
   68 |       typedef std::ptrdiff_t  difference_type;
      |                    ^~~~~~~~~
/usr/include/c++/13/bits/new_allocator.h:126:16: error: 'size_type' has not been declared
  126 |       allocate(size_type __n, const void* = static_cast<const void*>(0))
      |                ^~~~~~~~~
/usr/include/c++/13/bits/new_allocator.h:156:28: error: 'size_type' has not been declared
  156 |       deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
      |                            ^~~~~~~~~
/usr/include/c++/13/bits/new_allocator.h:229:26: error: 'size_type' does not name a type; did you mean 'true_type'?
  229 |       _GLIBCXX_CONSTEXPR size_type
      |                          ^~~~~~~~~
      |                          true_type
/usr/include/c++/13/bits/new_allocator.h: In member function '_Tp* std::__new_allocator<_Tp>::allocate(int, const void*)':
/usr/include/c++/13/bits/new_allocator.h:138:29: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  138 |             if (__n > (std::size_t(-1) / sizeof(_Tp)))
      |                             ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: 'size_t' declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
In file included from /usr/include/c++/13/ext/alloc_traits.h:34,
                 from /usr/include/c++/13/bits/basic_string.h:39,
                 from /usr/include/c++/13/string:54:
/usr/include/c++/13/bits/alloc_traits.h: At global scope:
/usr/include/c++/13/bits/alloc_traits.h:449:36: error: 'ptrdiff_t' in namespace 'std' does not name a type
  449 |       using difference_type = std::ptrdiff_t;
      |                                    ^~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:452:30: error: 'size_t' in namespace 'std' does not name a type; did you mean 'size'?
  452 |       using size_type = std::size_t;
      |                              ^~~~~~
      |                              size
/usr/include/c++/13/bits/alloc_traits.h:481:37: error: 'size_type' has not been declared
  481 |       allocate(allocator_type& __a, size_type __n)
      |                                     ^~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:496:37: error: 'size_type' has not been declared
  496 |       allocate(allocator_type& __a, size_type __n,
      |                                     ^~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:516:52: error: 'size_type' has not been declared
  516 |       deallocate(allocator_type& __a, pointer __p, size_type __n)
      |                                                    ^~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:570:35: error: 'size_type' does not name a type; did you mean 'true_type'?
  570 |       static _GLIBCXX20_CONSTEXPR size_type
      |                                   ^~~~~~~~~
      |                                   true_type
/usr/include/c++/13/bits/alloc_traits.h:614:36: error: 'ptrdiff_t' in namespace 'std' does not name a type
  614 |       using difference_type = std::ptrdiff_t;
      |                                    ^~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:617:30: error: 'size_t' in namespace 'std' does not name a type; did you mean 'size'?
  617 |       using size_type = std::size_t;
      |                              ^~~~~~
      |                              size
/usr/include/c++/13/bits/alloc_traits.h:639:33: error: 'size_type' has not been declared
  639 |       allocate(allocator_type&, size_type, const void* = nullptr) = delete;
      |                                 ^~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:643:42: error: 'size_type' has not been declared
  643 |       deallocate(allocator_type&, void*, size_type) = delete;
      |                                          ^~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:678:14: error: 'size_type' does not name a type; did you mean 'true_type'?
  678 |       static size_type
      |              ^~~~~~~~~
      |              true_type
In file included from /usr/include/c++/13/bits/basic_string.h:4109:
/usr/include/c++/13/ext/string_conversions.h:57:53: error: 'std::size_t' has not been declared
   57 |            const char* __name, const _CharT* __str, std::size_t* __idx,
      |                                                     ^~~
/usr/include/c++/13/ext/string_conversions.h:101:43: error: 'std::size_t' has not been declared
  101 |     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
      |                                           ^~~
/usr/include/c++/13/ext/string_conversions.h:102:54: error: 'std::size_t' has not been declared
  102 |                                  __builtin_va_list), std::size_t __n,
      |                                                      ^~~
/usr/include/c++/13/ext/alloc_traits.h: In instantiation of 'struct __gnu_cxx::__alloc_traits<std::allocator<char>, char>':
/usr/include/c++/13/bits/basic_string.h:90:24:   required from 'class std::__cxx11::basic_string<char>'
/usr/include/c++/13/bits/basic_string.h:4121:68:   required from here
/usr/include/c++/13/ext/alloc_traits.h:56:53: error: no type named 'size_type' in '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_Base_type' {aka 'struct std::allocator_traits<std::allocator<char> >'}
   56 |     typedef typename _Base_type::size_type          size_type;
      |                                                     ^~~~~~~~~
/usr/include/c++/13/ext/alloc_traits.h:57:53: error: no type named 'difference_type' in '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_Base_type' {aka 'struct std::allocator_traits<std::allocator<char> >'}
   57 |     typedef typename _Base_type::difference_type    difference_type;
      |                                                     ^~~~~~~~~~~~~~~
/usr/include/c++/13/ext/alloc_traits.h:65:23: error: 'max_size' has not been declared in '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_Base_type'
   65 |     using _Base_type::max_size;
      |                       ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h: In function 'int std::__cxx11::stoi(const std::string&, size_t*, int)':
/usr/include/c++/13/bits/basic_string.h:4121:40: error: no matching function for call to '__stoa<long int, int>(long int (*)(const char*, char**, int) noexcept, const char [5], const char*, size_t*&, int&)'
 4121 |   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4122 |                                         __idx, __base); }
      |                                         ~~~~~~~~~~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note: candidate: 'template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)'
   56 |     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
      |     ^~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/basic_string.h:4122:41: note:   cannot convert '__idx' (type 'size_t*' {aka 'long unsigned int*'}) to type 'int*'
 4122 |                                         __idx, __base); }
      |                                         ^~~~~
/usr/include/c++/13/bits/basic_string.h: In function 'long int std::__cxx11::stol(const std::string&, size_t*, int)':
/usr/include/c++/13/bits/basic_string.h:4126:29: error: no matching function for call to '__stoa(long int (*)(const char*, char**, int) noexcept, const char [5], const char*, size_t*&, int&)'
 4126 |   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
      |            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4127 |                              __idx, __base); }
      |                              ~~~~~~~~~~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note: candidate: 'template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)'
   56 |     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
      |     ^~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/basic_string.h:4127:30: note:   cannot convert '__idx' (type 'size_t*' {aka 'long unsigned int*'}) to type 'int*'
 4127 |                              __idx, __base); }
      |                              ^~~~~
/usr/include/c++/13/bits/basic_string.h: In function 'long unsigned int std::__cxx11::stoul(const std::string&, size_t*, int)':
/usr/include/c++/13/bits/basic_string.h:4131:29: error: no matching function for call to '__stoa(long unsigned int (*)(const char*, char**, int) noexcept, const char [6], const char*, size_t*&, int&)'
 4131 |   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
      |            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4132 |                              __idx, __base); }
      |                              ~~~~~~~~~~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note: candidate: 'template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)'
   56 |     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
      |     ^~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/basic_string.h:4132:30: note:   cannot convert '__idx' (type 'size_t*' {aka 'long unsigned int*'}) to type 'int*'
 4132 |                              __idx, __base); }
      |                              ^~~~~
/usr/include/c++/13/bits/basic_string.h: In function 'long long int std::__cxx11::stoll(const std::string&, size_t*, int)':
/usr/include/c++/13/bits/basic_string.h:4136:29: error: no matching function for call to '__stoa(long long int (*)(const char*, char**, int) noexcept, const char [6], const char*, size_t*&, int&)'
 4136 |   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
      |            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4137 |                              __idx, __base); }
      |                              ~~~~~~~~~~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note: candidate: 'template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)'
   56 |     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
      |     ^~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/basic_string.h:4137:30: note:   cannot convert '__idx' (type 'size_t*' {aka 'long unsigned int*'}) to type 'int*'
 4137 |                              __idx, __base); }
      |                              ^~~~~
/usr/include/c++/13/bits/basic_string.h: In function 'long long unsigned int std::__cxx11::stoull(const std::string&, size_t*, int)':
/usr/include/c++/13/bits/basic_string.h:4141:29: error: no matching function for call to '__stoa(long long unsigned int (*)(const char*, char**, int) noexcept, const char [7], const char*, size_t*&, int&)'
 4141 |   { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
      |            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4142 |                              __idx, __base); }
      |                              ~~~~~~~~~~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note: candidate: 'template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)'
   56 |     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
      |     ^~~~~~
/usr/include/c++/13/ext/string_conversions.h:56:5: note:   template argument deduction/s