제출 #1277020

#제출 시각아이디문제언어결과실행 시간메모리
1277020tin_leSkyscraper (JOI16_skyscraper)C++20
컴파일 에러
0 ms0 KiB
res#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
template<class T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define vt vector
#define all(x) begin(x), end(x)
#define allr(x) rbegin(x), rend(x)
#define ub upper_bound
#define lb lower_bound
#define db double
#define ld long db
#define ll long long
#define ull unsigned long long
#define vi vt<int>
#define vvi vt<vi>
#define vvvi vt<vvi>
#define pii pair<int, int>
#define vpii vt<pii>
#define vvpii vt<vpii>
#define vll vt<ll>  
#define vvll vt<vll>
#define pll pair<ll, ll>    
#define vpll vt<pll>
#define vvpll vt<vpll>
#define ar(x) array<int, x>
#define var(x) vt<ar(x)>
#define vvar(x) vt<var(x)>
#define al(x) array<ll, x>
#define vall(x) vt<al(x)>
#define vvall(x) vt<vall(x)>
#define vs vt<string>
#define pb push_back
#define ff first
#define ss second
#define rsz resize
#define sum(x) (ll)accumulate(all(x), 0LL)
#define srt(x) sort(all(x))
#define srtR(x) sort(allr(x))
#define srtU(x) sort(all(x)), (x).erase(unique(all(x)), (x).end())
#define rev(x) reverse(all(x))
#define MAX(a) *max_element(all(a)) 
#define MIN(a) *min_element(all(a))
#define SORTED(x) is_sorted(all(x))
#define ROTATE(a, p) rotate(begin(a), begin(a) + p, end(a))
#define i128 __int128
#define IOS ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#if defined(LOCAL) && __has_include("debug.h")
  #include "debug.h"
#else
  #define debug(...)
  #define startClock
  #define endClock
  inline void printMemoryUsage() {}
#endif
template<class T> using max_heap = priority_queue<T>; template<class T> using min_heap = priority_queue<T, vector<T>, greater<T>>;
template<typename T, size_t N> istream& operator>>(istream& is, array<T, N>& arr) { for (size_t i = 0; i < N; i++) { is >> arr[i]; } return is; }
template<typename T, size_t N> istream& operator>>(istream& is, vector<array<T, N>>& vec) { for (auto &arr : vec) { is >> arr; } return is; }
template<typename T1, typename T2>  istream &operator>>(istream& in, pair<T1, T2>& input) { return in >> input.ff >> input.ss; }
template<typename T> istream &operator>>(istream &in, vector<T> &v) { for (auto &el : v) in >> el; return in; }
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
const static ll INF = 4e18 + 10;
const static int inf = 1e9 + 100;
const static int MX = 1e5 + 5;

template <int MOD>
struct mod_int {
    int value;
    
    mod_int(ll v = 0) { value = int(v % MOD); if (value < 0) value += MOD; }
    
    mod_int& operator+=(const mod_int &other) { value += other.value; if (value >= MOD) value -= MOD; return *this; }
    mod_int& operator-=(const mod_int &other) { value -= other.value; if (value < 0) value += MOD; return *this; }
    mod_int& operator*=(const mod_int &other) { value = int((ll)value * other.value % MOD); return *this; }
    mod_int pow(ll p) const { mod_int ans(1), a(*this); while (p) { if (p & 1) ans *= a; a *= a; p /= 2; } return ans; }
    
    mod_int inv() const { return pow(MOD - 2); }
    mod_int& operator/=(const mod_int &other) { return *this *= other.inv(); }
    
    friend mod_int operator+(mod_int a, const mod_int &b) { a += b; return a; }
    friend mod_int operator-(mod_int a, const mod_int &b) { a -= b; return a; }
    friend mod_int operator*(mod_int a, const mod_int &b) { a *= b; return a; }
    friend mod_int operator/(mod_int a, const mod_int &b) { a /= b; return a; }
    
    bool operator==(const mod_int &other) const { return value == other.value; }
    bool operator!=(const mod_int &other) const { return value != other.value; }
    bool operator<(const mod_int &other) const { return value < other.value; }
    bool operator>(const mod_int &other) const { return value > other.value; }
    bool operator<=(const mod_int &other) const { return value <= other.value; }
    bool operator>=(const mod_int &other) const { return value >= other.value; }
    
    mod_int operator&(const mod_int &other) const { return mod_int((ll)value & other.value); }
    mod_int& operator&=(const mod_int &other) { value &= other.value; return *this; }
    mod_int operator|(const mod_int &other) const { return mod_int((ll)value | other.value); }
    mod_int& operator|=(const mod_int &other) { value |= other.value; return *this; }
    mod_int operator^(const mod_int &other) const { return mod_int((ll)value ^ other.value); }
    mod_int& operator^=(const mod_int &other) { value ^= other.value; return *this; }
    mod_int operator<<(int shift) const { return mod_int(((ll)value << shift) % MOD); }
    mod_int& operator<<=(int shift) { value = int(((ll)value << shift) % MOD); return *this; }
    mod_int operator>>(int shift) const { return mod_int(value >> shift); }
    mod_int& operator>>=(int shift) { value >>= shift; return *this; }

    mod_int& operator++() { ++value; if (value >= MOD) value = 0; return *this; }
    mod_int operator++(int) { mod_int temp = *this; ++(*this); return temp; }
    mod_int& operator--() { if (value == 0) value = MOD - 1; else --value; return *this; }
    mod_int operator--(int) { mod_int temp = *this; --(*this); return temp; }

    explicit operator ll() const { return (ll)value; }
    explicit operator int() const { return value; }
    explicit operator db() const { return (db)value; }

    friend mod_int operator-(const mod_int &a) { return mod_int(0) - a; }
    friend ostream& operator<<(ostream &os, const mod_int &a) { os << a.value; return os; }
    friend istream& operator>>(istream &is, mod_int &a) { ll v; is >> v; a = mod_int(v); return is; }
};

const static int MOD = 1e9 + 7;
using mint = mod_int<MOD>;
using vmint = vt<mint>;
using vvmint = vt<vmint>;
using vvvmint = vt<vvmint>;
using pmm = pair<mint, mint>;
using vpmm = vt<pmm>;

int dp[101][101][1005][3];
void solve() {
    int n, l; cin >> n >> l;
    vi a(n); cin >> a;
    srt(a);
    if(n == 1) {
        cout << 1 << '\n';
        return;
    }
    if(n == 2) {
        cout << (a[1] - a[0] <= l ? 2 : 0) << '\n';
        return;
    }
    memset(dp, -1, sizeof(dp));
    auto dfs = [&](auto& dfs, ll i = 0, ll j = 0, ll k = 0, ll s = 0) -> int {
        if(j < 0 || j > n || k > l || s > 2) return 0;
        if(i == n - 1) return j == 1 && s == 2;
        auto& res = dp[i][j][k][s];
        if(res != -1) return res;
        res = 0;
        mint now = 0;
        int edge = (2 * j - s);
        k += edge * (a[i + 1] - a[i]);
        if(k <= l) {
            if(s == 0) {
                now += (j - 1) * dfs(dfs, i + 1, j - 1, k, 0); // j - 1 choices to close the component
                now += (j + 1) * dfs(dfs, i + 1, j + 1, k, 0); // j + 1 position to insert this in
                now += edge * dfs(dfs, i + 1, j, k, 0); // edge choices to keep the same component
                now += 2 * dfs(dfs, i + 1, j, k, 1); // ?comp1_comp2_comp3_comp4? 2 choices each left_most and right_most
                now += 2 * dfs(dfs, i + 1, j + 1, k, 1);
            } else if(s == 1) {
                now += (j - 1) * dfs(dfs, i + 1, j - 1, k, 1);
                now += j * dfs(dfs, i + 1, j + 1, k, 1);
                now += edge * dfs(dfs, i + 1, j, k, 1);
                now += dfs(dfs, i + 1, j, k, 2);
                now += dfs(dfs, i + 1, j + 1, k, 2);
            } else {
                now += (j - 1) * dfs(dfs, i + 1, j - 1, k, 2);
                now += (j - 1) * dfs(dfs, i + 1, j + 1, k, 2);
                now += edge * dfs(dfs, i + 1, j, k, 2);
            }
        }
        res = int(now);
        return res;
    };
    mint res = dfs(dfs, 0, 1, 0, 0);
    res += 2 * dfs(dfs, 0, 1, 0, 1);
    cout << res << '\n';
}

signed main() {
    IOS;
    startClock
    int t = 1;
    //cin >> t;
    for(int i = 1; i <= t; i++) {   
        //cout << "Case #" << i << ": ";  
        solve();
    }
    endClock;
    printMemoryUsage();
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

skyscraper.cpp:1:4: error: stray '#' in program
    1 | res#include<bits/stdc++.h>
      |    ^
skyscraper.cpp:1:1: error: 'res' does not name a type; did you mean 'rev'?
    1 | res#include<bits/stdc++.h>
      | ^~~
      | rev
In file included from /usr/include/c++/13/ext/typelist.h:46,
                 from /usr/include/c++/13/ext/pb_ds/assoc_container.hpp:45,
                 from skyscraper.cpp:2:
/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'
  164 |   __is_null_pointer(std::nullptr_t)
      |                          ^~~~~~~~~
In file included from /usr/include/c++/13/bits/stl_pair.h:60,
                 from /usr/include/c++/13/utility:69,
                 from /usr/include/c++/13/ext/pb_ds/detail/type_utils.hpp:46,
                 from /usr/include/c++/13/ext/pb_ds/tag_and_trait.hpp:46,
                 from /usr/include/c++/13/ext/pb_ds/assoc_container.hpp:46:
/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>
      |                                 ^~~~~~~~~
In file included from /usr/include/c++/13/cstddef:50,
                 from /usr/include/c++/13/ext/pb_ds/detail/type_utils.hpp:45:
/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/ext/pb_ds/detail/type_utils.hpp:47:
/usr/include/c++/13/tr1/type_traits:150:26: error: 'std::size_t' has not been declared
  150 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/tr1/type_traits:151:25: error: '_Size' was not declared in this scope
  151 |     struct is_array<_Tp[_Size]>
      |                         ^~~~~
/usr/include/c++/13/tr1/type_traits:151:31: error: template argument 1 is invalid
  151 |     struct is_array<_Tp[_Size]>
      |                               ^
/usr/include/c++/13/tr1/type_traits:351:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  351 |     : 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/tr1/type_traits:351:61: error: template argument 1 is invalid
  351 |     : public integral_constant<std::size_t, __alignof__(_Tp)> { };
      |                                                             ^
/usr/include/c++/13/tr1/type_traits:356:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  356 |     : 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/tr1/type_traits:356:46: error: template argument 1 is invalid
  356 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/13/tr1/type_traits:358:26: error: 'std::size_t' has not been declared
  358 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/tr1/type_traits:359:21: error: '_Size' was not declared in this scope
  359 |     struct rank<_Tp[_Size]>
      |                     ^~~~~
/usr/include/c++/13/tr1/type_traits:359:27: error: template argument 1 is invalid
  359 |     struct rank<_Tp[_Size]>
      |                           ^
/usr/include/c++/13/tr1/type_traits:360:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  360 |     : 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/tr1/type_traits:360:65: error: template argument 1 is invalid
  360 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/13/tr1/type_traits:364:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  364 |     : 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/tr1/type_traits:364:65: error: template argument 1 is invalid
  364 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/13/tr1/type_traits:369:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  369 |     : 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/tr1/type_traits:369:46: error: template argument 1 is invalid
  369 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/13/tr1/type_traits:371:42: error: 'std::size_t' has not been declared
  371 |   template<typename _Tp, unsigned _Uint, std::size_t _Size>
      |                                          ^~~
/usr/include/c++/13/tr1/type_traits:372:23: error: '_Size' was not declared in this scope
  372 |     struct extent<_Tp[_Size], _Uint>
      |                       ^~~~~
/usr/include/c++/13/tr1/type_traits:372:36: error: template argument 1 is invalid
  372 |     struct extent<_Tp[_Size], _Uint>
      |                                    ^
/usr/include/c++/13/tr1/type_traits:373:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  373 |     : public integral_constant<std::size_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/tr1/type_traits:374:45: error: '_Size' was not declared in this scope
  374 |                                _Uint == 0 ? _Size : extent<_Tp,
      |                                             ^~~~~
/usr/include/c++/13/tr1/type_traits:375:77: error: template argument 1 is invalid
  375 |                                                            _Uint - 1>::value>
      |                                                                             ^
/usr/include/c++/13/tr1/type_traits:380:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
  380 |     : public integral_constant<std::size_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/tr1/type_traits:382:73: error: template argument 1 is invalid
  382 |                                                        _Uint - 1>::value>
      |                                                                         ^
/usr/include/c++/13/tr1/type_traits:449:26: error: 'std::size_t' has not been declared
  449 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/tr1/type_traits:450:30: error: '_Size' was not declared in this scope
  450 |     struct remove_extent<_Tp[_Size]>
      |                              ^~~~~
/usr/include/c++/13/tr1/type_traits:450:36: error: template argument 1 is invalid
  450 |     struct remove_extent<_Tp[_Size]>
      |                                    ^
/usr/include/c++/13/tr1/type_traits:462:26: error: 'std::size_t' has not been declared
  462 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/tr1/type_traits:463:35: error: '_Size' was not declared in this scope
  463 |     struct remove_all_extents<_Tp[_Size]>
      |                                   ^~~~~
/usr/include/c++/13/tr1/type_traits:463:41: error: template argument 1 is invalid
  463 |     struct remove_all_extents<_Tp[_Size]>
      |                                         ^
/usr/include/c++/13/tr1/type_traits:666:12: error: 'std::size_t' has not been declared
  666 |   template<std::size_t _Len, std::size_t _Align>
      |            ^~~
/usr/include/c++/13/tr1/type_traits:666:30: error: 'std::size_t' has not been declared
  666 |   template<std::size_t _Len, std::size_t _Align>
      |                              ^~~
/usr/include/c++/13/tr1/type_traits:671:30: error: '_Len' was not declared in this scope
  671 |         unsigned char __data[_Len];
      |                              ^~~~
/usr/include/c++/13/tr1/type_traits:672:44: error: '_Align' was not declared in this scope
  672 |         struct __attribute__((__aligned__((_Align)))) { } __align;
      |                                            ^~~~~~
In file included from /usr/include/c++/13/bits/new_allocator.h:34,
                 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/memory:65,
                 from /usr/include/c++/13/ext/pb_ds/detail/standard_policies.hpp:44,
                 from /usr/include/c++/13/ext/pb_ds/assoc_container.hpp:47:
/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
      |                                                             ^~~~
/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/memory:66:
/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/ext/alloc_traits.h:34,
                 from /usr/include/c++/13/bits/stl_uninitialized.h:64,
                 from /usr/include/c++/13/memory:69:
/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
  452 |       using size_type = std::size_t;
      |                              ^~~~~~
/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
  617 |       using size_type = std::size_t;
      |                              ^~~~~~
/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/ios:42,
                 from /usr/include/c++/13/ostream:40,
                 from /usr/include/c++/13/bits/unique_ptr.h:42,
                 from /usr/include/c++/13/memory:78:
/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_tempbuf.h:61:
/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/c++/13/bits/basic_string.h:4109,
                 from /usr/include/c++/13/string:54,
                 from /usr/include/c++/13/bits/locale_classes.h:40,
                 from /usr/include/c++/13/bits/ios_base.h:41,
                 from /usr/include/c++/13/ios:44:
/usr/include/c++/13/ext/string_conversions.h: At global scope:
/usr/include/c++/