제출 #1363830

#제출 시각아이디문제언어결과실행 시간메모리
1363830serendipitous사이버랜드 (APIO23_cyberland)C++20
컴파일 에러
0 ms0 KiB
#include "cyberland.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const ll LL_INF = (ll)1e18+1;

double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) {
    vector<vector<pair<int, int>>> adj(N);
    for(int i = 0; i < M; ++i) {
        adj[x[i]].emplace_back(y[i], c[i]);
        adj[y[i]].emplace_back(x[i], c[i]);
    }
    
    arr[0] = 0;
    vector<double> dist(N, DBL_MAX);

    // (d, u, k) where k is number of times halved
    priority_queue<tuple<double, int, int>, vector<tuple<double, int, int>>, greater<tuple<double, int, int>>> dijkstra;
    dijkstra.emplace(0.0, H, 0);
    double min_dist = DBL_MAX;

    // for arr[u] = 2, we greedily apply halving (as much as we can as early as we can)
    // moving across edge (u, v, c) takes time only c/(2^k);
    while(!dijkstra.empty()) {
        auto [d, u, k] = dijkstra.top();
        dijkstra.pop();
        if(d >= dist[u]) continue;
        dist[u] = d;
        if(arr[u] == 2 && k < K) ++k; // apply superpower!
        else if(arr[u] == 0) {
            min_dist = min(min_dist, d);
            continue; // you'd never have returned to the start, as distance is nondecreasing
            // so path will always start from these nodes and never pass through
        }
        for(auto [v, cv]: adj[u]) {
            dijkstra.emplace(d + (double)cv/(1ll << k), v);
        }
    }

    if(min_dist == DBL_MAX) return -1;
    return min_dist;
}

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

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,
                 from cyberland.h:1,
                 from cyberland.cpp:1:
/usr/include/c++/13/bits/alloc_traits.h: In instantiation of 'static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = std::tuple<double, int, int>; _Args = {double, int&}; _Tp = std::tuple<double, int, int>; allocator_type = std::allocator<std::tuple<double, int, int> >]':
/usr/include/c++/13/bits/vector.tcc:117:30:   required from 'constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double, int&}; _Tp = std::tuple<double, int, int>; _Alloc = std::allocator<std::tuple<double, int, int> >; reference = std::tuple<double, int, int>&]'
/usr/include/c++/13/bits/stl_queue.h:756:18:   required from 'void std::priority_queue<_Tp, _Sequence, _Compare>::emplace(_Args&& ...) [with _Args = {double, int&}; _Tp = std::tuple<double, int, int>; _Sequence = std::vector<std::tuple<double, int, int> >; _Compare = std::greater<std::tuple<double, int, int> >]'
cyberland.cpp:37:29:   required from here
/usr/include/c++/13/bits/alloc_traits.h:540:28: error: no matching function for call to 'construct_at(std::tuple<double, int, int>*&, double, int&)'
  540 |           std::construct_at(__p, std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/bits/stl_iterator.h:85,
                 from /usr/include/c++/13/bits/stl_algobase.h:67,
                 from /usr/include/c++/13/vector:62:
/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 = std::tuple<double, int, int>; _Args = {double, int&}]':
/usr/include/c++/13/bits/alloc_traits.h:540:21:   required from 'static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = std::tuple<double, int, int>; _Args = {double, int&}; _Tp = std::tuple<double, int, int>; allocator_type = std::allocator<std::tuple<double, int, int> >]'
/usr/include/c++/13/bits/vector.tcc:117:30:   required from 'constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double, int&}; _Tp = std::tuple<double, int, int>; _Alloc = std::allocator<std::tuple<double, int, int> >; reference = std::tuple<double, int, int>&]'
/usr/include/c++/13/bits/stl_queue.h:756:18:   required from 'void std::priority_queue<_Tp, _Sequence, _Compare>::emplace(_Args&& ...) [with _Args = {double, int&}; _Tp = std::tuple<double, int, int>; _Sequence = std::vector<std::tuple<double, int, int> >; _Compare = std::greater<std::tuple<double, int, int> >]'
cyberland.cpp:37:29:   required from here
/usr/include/c++/13/bits/stl_construct.h:96:17: error: no matching function for call to 'std::tuple<double, int, int>::tuple(double, int&)'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/bits/uses_allocator_args.h:38,
                 from /usr/include/c++/13/bits/memory_resource.h:41,
                 from /usr/include/c++/13/vector:80:
/usr/include/c++/13/tuple:1065:9: note: candidate: 'template<class _Alloc, class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_Args2 ...>&&) [with _UElements = _Alloc; bool _Valid = {_UElements ...}; typename std::enable_if<_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> = _Valid; _Elements = {double, int, int}]'
 1065 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:1065:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:1053:9: note: candidate: 'template<class _Alloc, class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_Args2 ...>&&) [with _UElements = _Alloc; bool _Valid = {_UElements ...}; typename std::enable_if<_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> = _Valid; _Elements = {double, int, int}]'
 1053 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:1053:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:1042:9: note: candidate: 'template<class _Alloc, class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_explicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_Args2 ...>&) [with _UElements = _Alloc; bool _Valid = {_UElements ...}; typename std::enable_if<_TCC<_Valid>::__is_explicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> = _Valid; _Elements = {double, int, int}]'
 1042 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:1042:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:1030:9: note: candidate: 'template<class _Alloc, class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_implicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_Args2 ...>&) [with _UElements = _Alloc; bool _Valid = {_UElements ...}; typename std::enable_if<_TCC<_Valid>::__is_implicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> = _Valid; _Elements = {double, int, int}]'
 1030 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:1030:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:1022:9: note: candidate: 'template<class _Alloc> constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, std::tuple< <template-parameter-1-1> >&&) [with _Elements = {double, int, int}]'
 1022 |         tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
      |         ^~~~~
/usr/include/c++/13/tuple:1022:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:1017:9: note: candidate: 'template<class _Alloc> constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple< <template-parameter-1-1> >&) [with _Elements = {double, int, int}]'
 1017 |         tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
      |         ^~~~~
/usr/include/c++/13/tuple:1017:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:1010:9: note: candidate: 'template<class _Alloc, class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, _UElements&& ...) [with _UElements = _Alloc; bool _Valid = {_UElements ...}; typename std::enable_if<_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> = _Valid; _Elements = {double, int, int}]'
 1010 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:1010:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:1006:59: error: no matching function for call to 'std::tuple<double, int, int>::__valid_args<>()'
 1006 |                  bool _Valid = __valid_args<_UElements...>(),
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/13/tuple:801:31: note: candidate: 'template<class _Up> static constexpr bool std::tuple< <template-parameter-1-1> >::__valid_args() [with _Elements = {double, int, int}]'
  801 |         static constexpr bool __valid_args()
      |                               ^~~~~~~~~~~~
/usr/include/c++/13/tuple:801:31: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:1006:59: note:   couldn't deduce template parameter '_Up'
 1006 |                  bool _Valid = __valid_args<_UElements...>(),
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/13/tuple:809:31: note: candidate: 'template<class, class, class ... _Tail> static constexpr bool std::tuple< <template-parameter-1-1> >::__valid_args() [with _Tail = <template-parameter-1-1>; _Elements = {double, int, int}]'
  809 |         static constexpr bool __valid_args()
      |                               ^~~~~~~~~~~~
/usr/include/c++/13/tuple:809:31: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:1006:59: note:   couldn't deduce template parameter '<template-parameter-1-1>'
 1006 |                  bool _Valid = __valid_args<_UElements...>(),
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/13/tuple:1000:9: note: candidate: 'template<class _Alloc, class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, _UElements&& ...) [with _UElements = _Alloc; bool _Valid = {_UElements ...}; typename std::enable_if<_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> = _Valid; _Elements = {double, int, int}]'
 1000 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:1000:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:997:57: error: no matching function for call to 'std::tuple<double, int, int>::__valid_args<>()'
  997 |                bool _Valid = __valid_args<_UElements...>(),
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/13/tuple:801:31: note: candidate: 'template<class _Up> static constexpr bool std::tuple< <template-parameter-1-1> >::__valid_args() [with _Elements = {double, int, int}]'
  801 |         static constexpr bool __valid_args()
      |                               ^~~~~~~~~~~~
/usr/include/c++/13/tuple:801:31: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:997:57: note:   couldn't deduce template parameter '_Up'
  997 |                bool _Valid = __valid_args<_UElements...>(),
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/13/tuple:809:31: note: candidate: 'template<class, class, class ... _Tail> static constexpr bool std::tuple< <template-parameter-1-1> >::__valid_args() [with _Tail = <template-parameter-1-1>; _Elements = {double, int, int}]'
  809 |         static constexpr bool __valid_args()
      |                               ^~~~~~~~~~~~
/usr/include/c++/13/tuple:809:31: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:997:57: note:   couldn't deduce template parameter '<template-parameter-1-1>'
  997 |                bool _Valid = __valid_args<_UElements...>(),
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/13/tuple:992:9: note: candidate: 'template<class _Alloc, bool _NotEmpty, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_explicitly_constructible<const double&, const int&, const int&>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, const _Elements& ...) [with bool _NotEmpty = _Alloc; typename std::enable_if<_TCC<_Valid>::__is_explicitly_constructible<const _Elements& ...>(), bool>::type <anonymous> = _NotEmpty; _Elements = {double, int, int}]'
  992 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:992:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 5 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:984:9: note: candidate: 'template<class _Alloc, bool _NotEmpty, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_implicitly_constructible<const double&, const int&, const int&>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&, const _Elements& ...) [with bool _NotEmpty = _Alloc; typename std::enable_if<_TCC<_Valid>::__is_implicitly_constructible<const _Elements& ...>(), bool>::type <anonymous> = _NotEmpty; _Elements = {double, int, int}]'
  984 |         tuple(allocator_arg_t __tag, const _Alloc& __a,
      |         ^~~~~
/usr/include/c++/13/tuple:984:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 5 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:978:9: note: candidate: 'template<class _Alloc, typename std::enable_if<std::tuple<double, int, int>::_TCC<std::is_object<_Tp>::value>::__is_explicitly_default_constructible(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&) [with typename std::enable_if<_TCC<std::is_object<_Alloc>::value>::__is_explicitly_default_constructible(), bool>::type <anonymous> = _Alloc; _Elements = {double, int, int}]'
  978 |         tuple(allocator_arg_t __tag, const _Alloc& __a)
      |         ^~~~~
/usr/include/c++/13/tuple:978:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:975:65: error: no type named 'type' in 'struct std::enable_if<false, bool>'
  975 |                _ExplicitDefaultCtor<is_object<_Alloc>::value> = false>
      |                                                                 ^~~~~
/usr/include/c++/13/tuple:971:9: note: candidate: 'template<class _Alloc, typename std::enable_if<std::tuple<double, int, int>::_TCC<std::is_object<_Tp>::value>::__is_implicitly_default_constructible(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::allocator_arg_t, const _Alloc&) [with typename std::enable_if<_TCC<std::is_object<_Alloc>::value>::__is_implicitly_default_constructible(), bool>::type <anonymous> = _Alloc; _Elements = {double, int, int}]'
  971 |         tuple(allocator_arg_t __tag, const _Alloc& __a)
      |         ^~~~~
/usr/include/c++/13/tuple:971:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   cannot convert 'std::declval<double>()' (type 'double') to type 'std::allocator_arg_t'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:939:9: note: candidate: 'template<class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {_UElements ...}; bool _Valid = _Valid; typename std::enable_if<_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  939 |         tuple(tuple<_UElements...>&& __in)
      |         ^~~~~
/usr/include/c++/13/tuple:939:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   mismatched types 'std::tuple<_UTypes ...>' and 'double'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:930:9: note: candidate: 'template<class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {_UElements ...}; bool _Valid = _Valid; typename std::enable_if<_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  930 |         tuple(tuple<_UElements...>&& __in)
      |         ^~~~~
/usr/include/c++/13/tuple:930:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   mismatched types 'std::tuple<_UTypes ...>' and 'double'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:920:9: note: candidate: 'template<class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_explicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {_UElements ...}; bool _Valid = _Valid; typename std::enable_if<_TCC<_Valid>::__is_explicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  920 |         tuple(const tuple<_UElements...>& __in)
      |         ^~~~~
/usr/include/c++/13/tuple:920:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   mismatched types 'const std::tuple<_UTypes ...>' and 'double'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:910:9: note: candidate: 'template<class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_implicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {_UElements ...}; bool _Valid = _Valid; typename std::enable_if<_TCC<_Valid>::__is_implicitly_constructible<const _UElements& ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  910 |         tuple(const tuple<_UElements...>& __in)
      |         ^~~~~
/usr/include/c++/13/tuple:910:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   mismatched types 'const std::tuple<_UTypes ...>' and 'double'
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:897:9: note: candidate: 'template<class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {_UElements ...}; bool _Valid = _Valid; typename std::enable_if<_TCC<_Valid>::__is_explicitly_constructible<_UElements ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  897 |         tuple(_UElements&&... __elements)
      |         ^~~~~
/usr/include/c++/13/tuple:897:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:895:55: error: no type named 'type' in 'struct std::enable_if<false, bool>'
  895 |                _ExplicitCtor<_Valid, _UElements...> = false>
      |                                                       ^~~~~
/usr/include/c++/13/tuple:889:9: note: candidate: 'template<class ... _UElements, bool _Valid, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {_UElements ...}; bool _Valid = _Valid; typename std::enable_if<_TCC<_Valid>::__is_implicitly_constructible<_UElements ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  889 |         tuple(_UElements&&... __elements)
      |         ^~~~~
/usr/include/c++/13/tuple:889:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/tuple:887:55: error: no type named 'type' in 'struct std::enable_if<false, bool>'
  887 |                _ImplicitCtor<_Valid, _UElements...> = true>
      |                                                       ^~~~
/usr/include/c++/13/tuple:881:9: note: candidate: 'template<bool _NotEmpty, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Cond>::__is_explicitly_constructible<const double&, const int&, const int&>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const _Elements& ...) [with bool _NotEmpty = _NotEmpty; typename std::enable_if<_TCC<_Dummy>::__is_explicitly_constructible<const _Elements& ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  881 |         tuple(const _Elements&... __elements)
      |         ^~~~~
/usr/include/c++/13/tuple:881:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:874:9: note: candidate: 'template<bool _NotEmpty, typename std::enable_if<std::tuple<double, int, int>::_TCC<_Cond>::__is_implicitly_constructible<const double&, const int&, const int&>(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const _Elements& ...) [with bool _NotEmpty = _NotEmpty; typename std::enable_if<_TCC<_Dummy>::__is_implicitly_constructible<const _Elements& ...>(), bool>::type <anonymous> = <anonymous>; _Elements = {double, int, int}]'
  874 |         tuple(const _Elements&... __elements)
      |         ^~~~~
/usr/include/c++/13/tuple:874:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 3 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:867:9: note: candidate: 'template<class _Dummy, typename std::enable_if<std::tuple<double, int, int>::_TCC<std::is_void<_Tp>::value>::__is_explicitly_default_constructible(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple() [with typename std::enable_if<_TCC<std::is_void<_Dummy>::value>::__is_explicitly_default_constructible(), bool>::type <anonymous> = _Dummy; _Elements = {double, int, int}]'
  867 |         tuple()
      |         ^~~~~
/usr/include/c++/13/tuple:867:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 0 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:860:9: note: candidate: 'template<class _Dummy, typename std::enable_if<std::tuple<double, int, int>::_TCC<std::is_void<_Tp>::value>::__is_implicitly_default_constructible(), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple() [with typename std::enable_if<_TCC<std::is_void<_Dummy>::value>::__is_implicitly_default_constructible(), bool>::type <anonymous> = _Dummy; _Elements = {double, int, int}]'
  860 |         tuple()
      |         ^~~~~
/usr/include/c++/13/tuple:860:9: note:   template argument deduction/substitution failed:
/usr/include/c++/13/bits/stl_construct.h:96:17: note:   candidate expects 0 arguments, 2 provided
   96 |     -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:903:17: note: candidate: 'constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple< <template-parameter-1-1> >&&) [with _Elements = {double, int, int}]'
  903 |       constexpr tuple(tuple&&) = default;
      |                 ^~~~~
/usr/include/c++/13/tuple:903:17: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/13/tuple:901:17: note: candidate: 'constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple< <template-parameter-1-1> >&) [with _Elements = {double, int, int}]'
  901 |       constexpr tuple(const tuple&) = default;
      |                 ^~~~~
/usr/include/c++/13/tuple:901:17: note:   candidate expects 1 argument, 2 provided