Submission #1332284

#TimeUsernameProblemLanguageResultExecution timeMemory
1332284activedeltorreAliens (IOI16_aliens)C++20
Compilation error
0 ms0 KiB
include "aliens.h"

#include <cstdio>
#include <cassert>
#include <vector>
#include <iostream>
using namespace std;
int maxim[100005];
int until[100005];
int maximpref[100005];
pair<long long,pair<int,int>>dp[1000005];
pair<long long,pair<int,int>> solve(int n,long long mij)
{
    for(int i=1;i<=n;i++)
    {
        dp[i].first=1ll*n*n+mij*n;
        dp[i].second.first=0;
        dp[i].second.second=0;
        if(maxim[i]==n+1)
        {
            dp[i]=dp[i-1];
            continue;
        }
        for(int lower=min(until[i],maxim[i]);lower>=1;lower--)
        {
            int nxt=maximpref[lower-1];
            long long add;
            if(nxt>=lower)
            {
                add=1ll*(nxt-lower+1)*(nxt-lower+1);
            }
            else
            {
                add=0;
            }
            if(dp[nxt].first+1ll*(i+1)*(i+1)+1ll*lower*lower-2*(i+1)*lower-add+mij<dp[i].first)
            {
                dp[i].first=dp[nxt].first+1ll*(i+1)*(i+1)+1ll*lower*lower-2*(i+1)*lower-add+mij;
                dp[i].second.first=dp[nxt].second.first+1;
                dp[i].second.second=dp[nxt].second.second+1;
            }
            else if(dp[nxt].first+1ll*(i+1)*(i+1)+1ll*lower*lower-2*(i+1)*lower-add+mij==dp[i].first)
            {
                dp[i].second.second=max(dp[i].second.second,dp[nxt].second.second+1);
                dp[i].second.first=min(dp[i].second.first,dp[nxt].second.first+1);
            }
        }
    }
    return dp[n];
}
long long take_photos(int n, int m, int k, std::vector<int> r, std::vector<int> c) {
    swap(n,m);
    for(int i=0;i<=n;i++)
    {
        maxim[i]=n+1;
        until[i]=n+1;
        maximpref[i]=0;
    }
    for(int i=0;i<m;i++)
    {
        r[i]++;
        c[i]++;
        maxim[max(r[i],c[i])]=min(maxim[max(r[i],c[i])],min(r[i],c[i]));
        maximpref[min(r[i],c[i])]=max(maximpref[min(r[i],c[i])],max(r[i],c[i]));
    }
    for(int i=1;i<=n;i++)
    {
        if(maximpref[i]>maximpref[i-1])
        {
            for(int j=maximpref[i-1]+1;j<=maximpref[i];j++)
            {
                until[j]=i;
            }
        }
        maximpref[i]=max(maximpref[i],maximpref[i-1]);
    }
    long long st=0,dr=1e12,best=n*n;
    while(st<=dr)
    {
        long long mij=(st+dr)/2;
        pair<long long,pair<int,int> >rez=solve(n,mij);
        if(rez.second.first<=k && rez.second.second>=k)
        {
            //cout<<rez.first<<" "<<rez.second.first<<" "<<rez.second.second<<" "<<mij<<'\n';
            best=min(best,rez.first-k*mij);
            break;
        }
        if(rez.second.second>k)
        {
            st=mij+1;
        }
        else
        {
            dr=mij-1;
        }
    }
    return best;
}

Compilation message (stderr)

aliens.cpp:1:1: error: 'include' does not name a type
    1 | include "aliens.h"
      | ^~~~~~~
In file included from /usr/include/c++/13/bits/stl_algobase.h:62,
                 from /usr/include/c++/13/vector:62,
                 from aliens.cpp:5:
/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/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'
  617 |     struct is_null_pointer<std::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)>
      |                                     ^~~~~~
In file included from /usr/include/stdio.h:34,
                 from /usr/include/c++/13/cstdio:42,
                 from aliens.cpp:3:
/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/iterator_concepts.h:37,
                 from /usr/include/c++/13/bits/stl_iterator_base_types.h:71,
                 from /usr/include/c++/13/bits/stl_algobase.h:65:
/usr/include/c++/13/bits/ptr_traits.h:163:47: error: 'ptrdiff_t' was not declared in this scope
  163 |       using difference_type = __detected_or_t<ptrdiff_t, __diff_t, _Ptr>;
      |                                               ^~~~~~~~~
/usr/include/c++/13/bits/ptr_traits.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // Pointer Traits -*- C++ -*-
/usr/include/c++/13/bits/ptr_traits.h:163:72: error: template argument 1 is invalid
  163 |       using difference_type = __detected_or_t<ptrdiff_t, __diff_t, _Ptr>;
      |                                                                        ^
/usr/include/c++/13/bits/ptr_traits.h:201:15: error: 'ptrdiff_t' does not name a type
  201 |       typedef ptrdiff_t difference_type;
      |               ^~~~~~~~~
/usr/include/c++/13/bits/ptr_traits.h:201:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/13/bits/iterator_concepts.h:174:31: error: 'ptrdiff_t' does not name a type
  174 |     { using difference_type = ptrdiff_t; };
      |                               ^~~~~~~~~
/usr/include/c++/13/bits/iterator_concepts.h:39:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   38 | #include <bits/ranges_cmp.h>    // identity, ranges::less
  +++ |+#include <cstddef>
   39 | 
/usr/include/c++/13/bits/stl_iterator_base_types.h:125:67: error: 'ptrdiff_t' does not name a type
  125 |   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
      |                                                                   ^~~~~~~~~
/usr/include/c++/13/bits/stl_iterator_base_types.h:72:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   71 | # include <bits/iterator_concepts.h>
  +++ |+#include <cstddef>
   72 | #endif
/usr/include/c++/13/bits/stl_iterator_base_types.h:203:33: error: 'ptrdiff_t' does not name a type
  203 |       using difference_type   = ptrdiff_t;
      |                                 ^~~~~~~~~
/usr/include/c++/13/bits/stl_iterator_base_types.h:203:33: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/13/bits/stl_algobase.h:66:
/usr/include/c++/13/bits/stl_iterator_base_funcs.h:112:5: error: 'ptrdiff_t' does not name a type
  112 |     ptrdiff_t
      |     ^~~~~~~~~
/usr/include/c++/13/bits/stl_iterator_base_funcs.h:66:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   65 | #include <debug/assertions.h>
  +++ |+#include <cstddef>
   66 | #include <bits/stl_iterator_base_types.h>
/usr/include/c++/13/bits/stl_iterator_base_funcs.h:118:5: error: 'ptrdiff_t' does not name a type
  118 |     ptrdiff_t
      |     ^~~~~~~~~
/usr/include/c++/13/bits/stl_iterator_base_funcs.h:118:5: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
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
      |                                                             ^~~~
/usr/include/c++/13/bits/stl_iterator.h:708:31: error: 'ptrdiff_t' does not name a type
  708 |       using difference_type = ptrdiff_t;
      |                               ^~~~~~~~~
/usr/include/c++/13/bits/stl_iterator.h:86:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   85 | # include <bits/stl_construct.h>
  +++ |+#include <cstddef>
   86 | #endif
/usr/include/c++/13/bits/stl_iterator.h:809:31: error: 'ptrdiff_t' does not name a type
  809 |       using difference_type = ptrdiff_t;
      |                               ^~~~~~~~~
/usr/include/c++/13/bits/stl_iterator.h:809:31: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/13/bits/stl_iterator.h:921:31: error: 'ptrdiff_t' does not name a type
  921 |       using difference_type = ptrdiff_t;
      |                               ^~~~~~~~~
/usr/include/c++/13/bits/stl_iterator.h:921:31: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/13/bits/stl_algobase.h: In static member function 'static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*)':
/usr/include/c++/13/bits/stl_algobase.h:435:17: error: 'ptrdiff_t' does not name a type
  435 |           const ptrdiff_t _Num = __last - __first;
      |                 ^~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:77:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   76 | # include <bit> // std::__bit_width
  +++ |+#include <cstddef>
   77 | #endif
/usr/include/c++/13/bits/stl_algobase.h:436:32: error: '_Num' was not declared in this scope
  436 |           if (__builtin_expect(_Num > 1, true))
      |                                ^~~~
/usr/include/c++/13/bits/stl_algobase.h:441:29: error: '_Num' was not declared in this scope
  441 |           return __result + _Num;
      |                             ^~~~
/usr/include/c++/13/bits/stl_algobase.h: In static member function 'static constexpr _Up* std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(_Tp*, _Tp*, _Up*)':
/usr/include/c++/13/bits/stl_algobase.h:746:17: error: 'ptrdiff_t' does not name a type
  746 |           const ptrdiff_t _Num = __last - __first;
      |                 ^~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:746:17: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/13/bits/stl_algobase.h:747:32: error: '_Num' was not declared in this scope
  747 |           if (__builtin_expect(_Num > 1, true))
      |                                ^~~~
/usr/include/c++/13/bits/stl_algobase.h:752:29: error: '_Num' was not declared in this scope
  752 |           return __result - _Num;
      |                             ^~~~
/usr/include/c++/13/bits/stl_algobase.h: At global scope:
/usr/include/c++/13/bits/stl_algobase.h:1357:16: error: 'ptrdiff_t' does not name a type
 1357 |         static ptrdiff_t
      |                ^~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:1357:16: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
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/vector:63:
/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;
      |                       ^~~~~~
/usr/include/c++/13/bits/allocator.h: At global scope:
/usr/include/c++/13/bits/allocator.h:80:15: error: 'ptrdiff_t' does not name a type
   80 |       typedef ptrdiff_t   difference_type;
      |               ^~~~~~~~~
/usr/include/c++/13/bits/allocator.h:48:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   47 | #include <bits/memoryfwd.h>
  +++ |+#include <cstddef>
   48 | #if __cplusplus >= 201103L
/usr/include/c++/13/bits/allocator.h:135:15: error: 'ptrdiff_t' does not name a type
  135 |       typedef ptrdiff_t  difference_type;
      |               ^~~~~~~~~
/usr/include/c++/13/bits/allocator.h:135:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
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/vector:65:
/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
/usr/include/c++/13/bits/stl_uninitialized.h: In function 'constexpr std::__enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp*> std::__relocate_a_1(_Tp*, _Tp*, _Tp*, allocator<_T2>&)':
/usr/include/c++/13/bits/stl_uninitialized.h:1118:7: error: 'ptrdiff_t' was not declared in this scope
 1118 |       ptrdiff_t __count = __last - __first;
      |       ^~~~~~~~~
/usr/include/c++/13/bits/stl_uninitialized.h:65:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   64 | #include <ext/alloc_traits.h>     // __alloc_traits
  +++ |+#include <cstddef>
   65 | 
/usr/include/c++/13/bits/stl_uninitialized.h:1119:11: error: '__count' was not declared in this scope
 1119 |       if (__count > 0)
      |           ^~~~~~~
/usr/include/c++/13/bits/stl_uninitialized.h:1133:25: error: '__count' was not declared in this scope
 1133 |       return __result + __count;
      |                         ^~~~~~~
In file included from /usr/include/c++/13/vector:66:
/usr/include/c++/13/bits/stl_vector.h: At global scope:
/usr/include/c++/13/bits/stl_vector.h:464:15: error: 'ptrdiff_t' does not name a type
  464 |       typedef ptrdiff_t                                 difference_type;
      |               ^~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:64:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   63 | #include <initializer_list>
  +++ |+#include <cstddef>
   64 | #endif
/usr/include/c++/13/bits/stl_vector.h: In member function 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, size_type, const value_type&)':
/usr/include/c++/13/bits/stl_vector.h:1439:9: error: 'difference_type' was not declared in this scope
 1439 |         difference_type __offset = __position - cbegin();
      |         ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1440:34: error: '__offset' was not declared in this scope; did you mean '__off_t'?
 1440 |         _M_fill_insert(begin() + __offset, __n, __x);
      |                                  ^~~~~~~~
      |                                  __off_t
/usr/include/c++/13/bits/stl_vector.h: In member function 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, _InputIterator, _InputIterator)':
/usr/include/c++/13/bits/stl_vector.h:1485:11: error: 'difference_type' was not declared in this scope
 1485 |           difference_type __offset = __position - cbegin();
      |           ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1486:37: error: '__offset' was not declared in this scope; did you mean '__off_t'?
 1486 |           _M_range_insert(begin() + __offset, __first, __last,
      |                                     ^~~~~~~~
      |                                     __off_t
/usr/include/c++/13/bits/stl_vector.h: In static member function 'static constexpr std::vector<_Tp, _Alloc>::size_type std::vector<_Tp, _Alloc>::_S_max_size(const _Tp_alloc_type&)':
/usr/include/c++/13/bits/stl_vector.h:1922:41: error: 'ptrdiff_t' was not declared in this scope
 1922 |           = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
      |                                         ^~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1922:41: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/13/bits/stl_vector.h:1922:50: error: template argument 1 is invalid
 1922 |           = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
      |                                                  ^
In file included from /usr/include/c++/13/bits/stl_bvector.h:65,
                 from /usr/include/c++/13/vector:67:
/usr/include/c++/13/bits/functional_hash.h: At global scope:
/usr/include/c++/13/bits/functional_hash.h:273:17: error: 'nullptr_t' was not declared in this scope
  273 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |                 ^~~~~~~~~
/usr/include/c++/13/bits/functional_hash.h:37:1: note: 'nullptr_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   36 | #include <bits/hash_bytes.h>
  +++ |+#include <cstddef>
   37 | 
/usr/include/c++/13/bits/functional_hash.h:273:26: error: template argument 1 is invalid
  273 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |                          ^
/usr/include/c++/13/bits/functional_hash.h:273:57: error: 'nullptr_t' was not declared in this scope
  273 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |                                                         ^~~~~~~~~
/usr/include/c++/13/bits/functional_hash.h:273:57: note: 'nullptr_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/13/bits/functional_hash.h:273:66: error: template argument 2 is invalid
  273 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |                                                                  ^
/usr/include/c++/13/bits/stl_bvector.h:179:63: error: template argument 3 is invalid
  179 |   : public std::iterator<std::random_access_iterator_tag, bool>
      |                                                               ^
/usr/include/c++/13/bits/stl_bvector.h:224:13: error: 'ptrdiff_t' has not been declared
  224 |     _M_incr(ptrdiff_t __i)
      |             ^~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:291:33: error: 'ptrdiff_t' does not name a type
  291 |     friend _GLIBCXX20_CONSTEXPR ptrdiff_t
      |                                 ^~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:66:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   65 | #include <bits/functional_hash.h>
  +++ |+#include <cstddef>
   66 | #endif
/usr/include/c++/13/bits/stl_bvector.h: In member function 'constexpr void std::_Bit_iterator_base::_M_incr(int)':
/usr/include/c++/13/bits/stl_bvector.h:227:7: error: 'difference_type' was not declared in this scope
  227 |       difference_type __n = __i + _M_offset;
      |       ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:228:15: error: '__n' was not declared in this scope; did you mean '__i'?
  228 |       _M_p += __n / int(_S_word_bit);
      |               ^~~
      |               __i
/usr/include/c++/13/bits/stl_bvector.h: At global scope:
/usr/include/c++/13/bits/stl_bvector.h:368:16: error: 'difference_type' has not been declared
  368 |     operator+=(difference_type __i)
      |                ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:376:16: error: 'difference_type' has not been declared
  376 |     operator-=(difference_type __i)
      |                ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:384:16: error: 'difference_type' has not been declared
  384 |     operator[](difference_type __i) const
      |                ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:389:36: error: 'difference_type' has not been declared
  389 |     operator+(const iterator& __x, difference_type __n)
      |                                    ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:398:15: error: 'difference_type' has not been declared
  398 |     operator+(difference_type __n, const iterator& __x)
      |               ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:403:36: error: 'difference_type' has not been declared
  403 |     operator-(const iterator& __x, difference_type __n)
      |                                    ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:482:16: error: 'difference_type' has not been declared
  482 |     operator+=(difference_type __i)
      |                ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:490:16: error: 'difference_type' has not been declared
  490 |     operator-=(difference_type __i)
      |                ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:498:16: error: 'difference_type' has not been declared
  498 |     operator[](difference_type __i) const
      |                ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:503:42: error: 'difference_type' has not been declared
  503 |     operator+(const const_iterator& __x, difference_type __n)
      |                                          ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:512:42: error: 'difference_type' has not been declared
  512 |     operator-(const const_iterator& __x, difference_type __n)
      |                                          ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:521:15: error: 'difference_type' has not been declared
  521 |     operator+(difference_type __n, const const_iterator& __x)
      |               ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:753:15: error: 'ptrdiff_t' does not name a type
  753 |       typedef ptrdiff_t                                 difference_type;
      |               ^~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:753:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/13/bits/iterator_concepts.h: In substitution of 'template<class _Tp> using std::__detail::__iter_value_t = typename std::__detail::__iter_traits_impl<_Tp, std::indirectly_readable_traits<_Iter> >::type::value_type [with _Tp = std::_Bit_iterator]':
/usr/include/c++/13/bits/iterator_concepts.h:303:11:   required by substitution of 'template<class _Tp> using std::iter_value_t = std::__detail::__iter_value_t<typename std::remove_cvref<_Tp>::type> [with _Tp = std::_Bit_iterator]'
/usr/include/c++/13/bits/stl_iterator.h:173:13:   required from 'class std::reverse_iterator<std::_Bit_iterator>'
/usr/include/c++/13/bits/stl_bvector.h:1016:7:   required from here
/usr/include/c++/13/bits/iterator_concepts.h:298:13: error: no type named 'value_type' in 'std::__detail::__iter_traits<std::_Bit_iterator, std::indirectly_readable_traits<std::_Bit_iterator> >' {aka 'struct std::indirectly_readable_traits<std::_Bit_iterator>'}
  298 |       using __iter_value_t = typename
      |             ^~~~~~~~~~~~~~
/usr/include/c++/13/bits/iterator_concepts.h: In substitution of 'template<class _Tp> using std::__detail::__iter_diff_t = typename std::__detail::__iter_traits_impl<_Tp, std::incrementable_traits<_Iter> >::type::difference_type [with _Tp = std::_Bit_iterator]':
/usr/include/c++/13/bits/iterator_concepts.h:232:11:   required by substitution of 'template<class _Tp> using std::iter_difference_t = std::__detail::__iter_diff_t<typename std::remove_cvref<_Tp>::type> [with _Tp = std::_Bit_iterator]'
/usr/include/c++/13/bits/stl_iterator.h:174:13:   required from 'class std::reverse_iterator<std::_Bit_iterator>'
/usr/include/c++/13/bits/stl_bvector.h:1016:7:   required from here
/usr/include/c++/13/bits/iterator_concepts.h:227:13: error: no type named 'difference_type' in 'std::__detail::__iter_traits<std::_Bit_iterator, std::incrementable_traits<std::_Bit_iterator> >' {aka 'struct std::incrementable_traits<std::_Bit_iterator>'}
  227 |       using __iter_diff_t = typename
      |             ^~~~~~~~~~~~~
/usr/include/c++/13/bits/iterator_concepts.h: In substitution of 'template<class _Tp> using std::__detail::__iter_value_t = typename std::__detail::__iter_traits_impl<_Tp, std::indirectly_readable_traits<_Iter> >::type::value_type [with _Tp = std::_Bit_const_iterator]':
/usr/include/c++/13/bits/iterator_concepts.h:303:11:   required by substitution of 'template<class _Tp> using std::iter_value_t = std::__detail::__iter_value_t<typename std::remove_cvref<_Tp>::type> [with _Tp = std::_Bit_const_iterator]'
/usr/include/c++/13/bits/stl_iterator.h:173:13:   required from 'class std::reverse_iterator<std::_Bit_const_iterator>'
/usr/include/c++/13/bits/stl_bvector.h:1021:7:   required from here
/usr/include/c++/13/bits/iterator_concepts.h:298:13: error: no type named 'value_type' in 'std::__detail::__iter_traits<std::_Bit_const_iterator, std::indirectly_readable_traits<std::_Bit_const_iterator> >' {aka 'struct std::indirectly_readable_traits<std::_Bit_const_iterator>'}
  298 |       using __iter_value_t = typename
      |             ^~~~~~~~~~~~~~
/usr/include/c++/13/bits/iterator_concepts.h: In substitution of 'template<class _Tp> using std::__detail::__iter_diff_t = typename std::__detail::__iter_traits_impl<_Tp, std::incrementable_traits<_Iter> >::type::difference_type [with _Tp = std::_Bit_const_iterator]':
/usr/include/c++/13/bits/iterator_concepts.h:232:11:   required by substitution of 'template<class _Tp> using std::iter_difference_t = std::__detail::__iter_diff_t<typename std::remove_cvref<_Tp>::type> [with _Tp = std::_Bit_const_iterator]'
/usr/include/c++/13/bits/stl_iterator.h:174:13:   required from 'class std::reverse_iterator<std::_Bit_const_iterator>'
/usr/include/c++/13/bits/stl_bvector.h:1021:7:   required from here
/usr/include/c++/13/bits/iterator_concepts.h:227:13: error: no type named 'difference_type' in 'std::__detail::__iter_traits<std::_Bit_const_iterator, std::incrementable_traits<std::_Bit_const_iterator> >' {aka 'struct std::incrementable_traits<std::_Bit_const_iterator>'}
  227 |       using __iter_diff_t = typename
      |             ^~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h: In member function 'constexpr std::vector<bool, _Alloc>::size_type std::vector<bool, _Alloc>::max_size() const':
/usr/include/c++/13/bits/stl_bvector.h:1065:39: error: 'difference_type' was not declared in this scope
 1065 |           __gnu_cxx::__numeric_traits<difference_type>::__max
      |                                       ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:1065:54: error: template argument 1 is invalid
 1065 |           __gnu_cxx::__numeric_traits<difference_type>::__max
      |                                                      ^
/usr/include/c++/13/bits/stl_bvector.h: In member function 'constexpr std::vector<bool, _Alloc>::iterator std::vector<bool, _Alloc>::insert(const_iterator, const bool&)':
/usr/include/c++/13/bits/stl_bvector.h:1194:15: error: 'difference_type' does not name a type
 1194 |         const difference_type __n = __position - begin();
      |               ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:1200:26: error: '__n' was not declared in this scope; did you mean '__x'?
 1200 |         return begin() + __n;
      |                          ^~~
      |                          __x
/usr/include/c++/13/bits/stl_bvector.h: In member function 'constexpr std::vector<bool, _Alloc>::iterator std::vector<bool, _Alloc>::insert(const_iterator, _InputIterator, _InputIterator)':
/usr/include/c++/13/bits/stl_bvector.h:1218:11: error: 'difference_type' was not declared in this scope
 1218 |           difference_type __offset = __position - cbegin();
      |           ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:1222:28: error: '__offset' was not declared in this scope; did you mean '__off_t'?
 1222 |           return begin() + __offset;
      |                            ^~~~~~~~
      |                            __off_t
/usr/include/c++/13/bits/stl_bvector.h: In member function 'constexpr std::vector<bool, _Alloc>::iterator std::vector<bool, _Alloc>::insert(const_iterator, size_type, const bool&)':
/usr/include/c++/13/bits/stl_bvector.h:1241:9: error: 'difference_type' was not declared in this scope
 1241 |         difference_type __offset = __position - cbegin();
      |         ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:1243:26: error: '__offset' was not declared in this scope; did you mean '__off_t'?
 1243 |         return begin() + __offset;
      |                          ^~~~~~~~
      |                          __off_t
/usr/include/c++/13/bits/stl_bvector.h: In member function 'constexpr void std::vector<bool, _Alloc>::resize(size_type, bool)':
/usr/include/c++/13/bits/stl_bvector.h:1286:37: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available [-fpermissive]
 1286 |           _M_erase_at_end(begin() + difference_type(__new_size));
      |                                     ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_bvector.h:1286:37: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/include/c++/13/bits/stl_bvector.h: In member function 'constexpr void std::vector<bool, _Alloc>::_M_initialize(size_type)':
/usr/include/c++/13/bits/stl_bvector.h:1357:49: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available [-fpermissive]
 1357 |             this->_M_impl._M_finish = __start + difference_type(__n);
      |                                                 ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/vector:69:
/usr/include/c++/13/bits/range_access.h: At global scope:
/usr/include/c++/13/bits/range_access.h:356:22: error: 'ptrdiff_t' was not declared in this scope
  356 |     -> common_type_t<ptrdiff_t, make_signed_t<decltype(__cont.size())>>
      |                      ^~~~~~~~~
/usr/include/c++/13/bits/range_access.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // Range access functions for containers -*- C++ -*-
/usr/include/c++/13/bits/range_access.h:356:70: error: template argument 1 is invalid
  356 |     -> common_type_t<ptrdiff_t, make_signed_t<decltype(__cont.size())>>
      |                                                                      ^~
/usr/include/c++/13/bits/range_access.h:362:26: error: 'ptrdiff_t' has not been declared
  362 |   template<typename _Tp, ptrdiff_t _Num>
      |                          ^~~~~~~~~
/usr/include/c++/13/bits/range_access.h:364:15: error: 'ptrdiff_t' does not name a type
  364 |     constexpr ptrdiff_t
      |               ^~~~~~~~~
/usr/include/c++/13/bits/range_access.h:364:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/13/vector:72:
/usr/include/c++/13/bits/vector.tcc: In member function 'constexpr void std::vector<bool, _Alloc>::_M_fill_insert(iterator, size_type, bool)':
/usr/include/c++/13/bits/vector.tcc:869:56: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available [-fpermissive]
  869 |                              this->_M_impl._M_finish + difference_type(__n));
      |                                                        ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/vector.tcc:870:46: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available [-fpermissive]
  870 |           std::fill(__position, __position + difference_type(__n), __x);
      |                                              ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/vector.tcc:871:38: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must be available [-fpermissive]
  871 |           this->_M_impl._M_finish += difference_type(__n);
      |                                      ^~~~~~~~~~~~~~~
/usr/include/c++/13/bits/vector.tcc:880:32: error: there are no arguments to 'difference_type' that depend on a template parameter, so a declaration of 'difference_type' must