Submission #1148084

#TimeUsernameProblemLanguageResultExecution timeMemory
1148084montes_joseCoin Collecting (JOI19_ho_t4)C++20
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <queue> #include <set> #include <algorithm> #include <limits> using namespace std; int bfs(int start_x, int start_y, int target_x, int target_y) { queue<tuple<int, int, int>> q; q.push({start_x, start_y, 0}); set<pair<int, int>> visited; visited.insert({start_x, start_y}); vector<pair<int, int>> directions = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; while (!q.empty()) { int x = get(q.front()); int y = get(q.front()); int steps = get(q.front()); q.pop(); if (x == target_x && y == target_y) { return steps; } for (auto& dir : directions) { int new_x = x + dir.first; int new_y = y + dir.second; if (visited.find({new_x, new_y}) == visited.end()) { visited.insert({new_x, new_y}); q.push({new_x, new_y, steps + 1}); } } } return numeric_limits<int>::max(); // Should not reach here } int min_operations_to_rearrange_coins(int N, vector<pair<int, int>>& coins) { vector<pair<int, int>> targets; for (int x = 1; x <= N; ++x) { for (int y = 1; y <= 2; ++y) { targets.push_back({x, y}); } } sort(coins.begin(), coins.end()); sort(targets.begin(), targets.end()); int total_moves = 0; for (size_t i = 0; i < 2 * N; ++i) { total_moves += bfs(coins[i].first, coins[i].second, targets[i].first, targets[i].second); } return total_moves; } int main() { int N; cin >> N; vector<pair<int, int>> coins(2 * N); for (int i = 0; i < 2 * N; ++i) { cin >> coins[i].first >> coins[i].second; } cout << min_operations_to_rearrange_coins(N, coins) << endl; return 0; }

Compilation message (stderr)

joi2019_ho_t4.cpp: In function 'int bfs(int, int, int, int)':
joi2019_ho_t4.cpp:20:20: error: no matching function for call to 'get(__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type&)'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:223:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(std::pair<_OIter1, _OIter2>&)'
  223 |     get(pair<_Tp1, _Tp2>& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:223:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_OIter1, _OIter2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:228:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(std::pair<_OIter1, _OIter2>&&)'
  228 |     get(pair<_Tp1, _Tp2>&& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:228:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_OIter1, _OIter2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:233:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(const std::pair<_OIter1, _OIter2>&)'
  233 |     get(const pair<_Tp1, _Tp2>& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:233:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_OIter1, _OIter2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:238:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(const std::pair<_OIter1, _OIter2>&&)'
  238 |     get(const pair<_Tp1, _Tp2>&& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:238:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_OIter1, _OIter2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:247:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_T1, _T2>&)'
  247 |     get(pair<_Tp, _Up>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:247:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_T1, _T2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:252:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_T1, _T2>&)'
  252 |     get(const pair<_Tp, _Up>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:252:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_T1, _T2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:257:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_T1, _T2>&&)'
  257 |     get(pair<_Tp, _Up>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:257:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_T1, _T2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:262:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_T1, _T2>&&)'
  262 |     get(const pair<_Tp, _Up>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:262:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_T1, _T2>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:267:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_Up, _Tp>&)'
  267 |     get(pair<_Up, _Tp>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:267:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_Up, _Tp>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:272:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_Up, _Tp>&)'
  272 |     get(const pair<_Up, _Tp>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:272:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_Up, _Tp>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:277:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_Up, _Tp>&&)'
  277 |     get(pair<_Up, _Tp>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:277:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_Up, _Tp>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:282:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_Up, _Tp>&&)'
  282 |     get(const pair<_Up, _Tp>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:282:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_Up, _Tp>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/ranges_algo.h:36,
                 from /usr/include/c++/11/algorithm:64,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/bits/ranges_util.h:381:5: note: candidate: 'template<long unsigned int _Num, class _It, class _Sent, std::ranges::subrange_kind _Kind>  requires  _Num < 2 constexpr auto std::ranges::get(std::ranges::subrange<_It, _Sent, _Kind>&&)'
  381 |     get(subrange<_It, _Sent, _Kind>&& __r)
      |     ^~~
/usr/include/c++/11/bits/ranges_util.h:381:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::ranges::subrange<_It, _Sent, _Kind>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/ranges_algo.h:36,
                 from /usr/include/c++/11/algorithm:64,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/bits/ranges_util.h:370:5: note: candidate: 'template<long unsigned int _Num, class _It, class _Sent, std::ranges::subrange_kind _Kind>  requires  _Num < 2 constexpr auto std::ranges::get(const std::ranges::subrange<_It, _Sent, _Kind>&)'
  370 |     get(const subrange<_It, _Sent, _Kind>& __r)
      |     ^~~
/usr/include/c++/11/bits/ranges_util.h:370:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::ranges::subrange<_It, _Sent, _Kind>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:361:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp& std::get(std::array<_Tp, _Nm>&)'
  361 |     get(array<_Tp, _Nm>& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:361:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::array<_Tp, _Nm>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:369:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp&& std::get(std::array<_Tp, _Nm>&&)'
  369 |     get(array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:369:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::array<_Tp, _Nm>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:377:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp& std::get(const std::array<_Tp, _Nm>&)'
  377 |     get(const array<_Tp, _Nm>& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:377:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::array<_Tp, _Nm>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:385:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp&& std::get(const std::array<_Tp, _Nm>&&)'
  385 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:385:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::array<_Tp, _Nm>'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1393:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >& std::get(std::tuple<_Args2 ...>&)'
 1393 |     get(tuple<_Elements...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1393:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '__i'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1399:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >& std::get(const std::tuple<_Args2 ...>&)'
 1399 |     get(const tuple<_Elements...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1399:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '__i'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1405:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >&& std::get(std::tuple<_Args2 ...>&&)'
 1405 |     get(tuple<_Elements...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1405:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '__i'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1414:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >&& std::get(const std::tuple<_Args2 ...>&&)'
 1414 |     get(const tuple<_Elements...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1414:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '__i'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1449:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp& std::get(std::tuple<_Args2 ...>&)'
 1449 |     get(tuple<_Types...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1449:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '_Tp'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1460:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp&& std::get(std::tuple<_Args2 ...>&&)'
 1460 |     get(tuple<_Types...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1460:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '_Tp'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1471:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp& std::get(const std::tuple<_Args2 ...>&)'
 1471 |     get(const tuple<_Types...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1471:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '_Tp'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1483:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp&& std::get(const std::tuple<_Args2 ...>&&)'
 1483 |     get(const tuple<_Types...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1483:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:20:20: note:   couldn't deduce template parameter '_Tp'
   20 |         int x = get(q.front());
      |                 ~~~^~~~~~~~~~~
joi2019_ho_t4.cpp:21:20: error: no matching function for call to 'get(__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type&)'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:223:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(std::pair<_OIter1, _OIter2>&)'
  223 |     get(pair<_Tp1, _Tp2>& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:223:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_OIter1, _OIter2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:228:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(std::pair<_OIter1, _OIter2>&&)'
  228 |     get(pair<_Tp1, _Tp2>&& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:228:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_OIter1, _OIter2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:233:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(const std::pair<_OIter1, _OIter2>&)'
  233 |     get(const pair<_Tp1, _Tp2>& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:233:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_OIter1, _OIter2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:238:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(const std::pair<_OIter1, _OIter2>&&)'
  238 |     get(const pair<_Tp1, _Tp2>&& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:238:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_OIter1, _OIter2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:247:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_T1, _T2>&)'
  247 |     get(pair<_Tp, _Up>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:247:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_T1, _T2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:252:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_T1, _T2>&)'
  252 |     get(const pair<_Tp, _Up>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:252:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_T1, _T2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:257:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_T1, _T2>&&)'
  257 |     get(pair<_Tp, _Up>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:257:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_T1, _T2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:262:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_T1, _T2>&&)'
  262 |     get(const pair<_Tp, _Up>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:262:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_T1, _T2>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:267:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_Up, _Tp>&)'
  267 |     get(pair<_Up, _Tp>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:267:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_Up, _Tp>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:272:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_Up, _Tp>&)'
  272 |     get(const pair<_Up, _Tp>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:272:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_Up, _Tp>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:277:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_Up, _Tp>&&)'
  277 |     get(pair<_Up, _Tp>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:277:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_Up, _Tp>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:282:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_Up, _Tp>&&)'
  282 |     get(const pair<_Up, _Tp>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:282:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_Up, _Tp>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/ranges_algo.h:36,
                 from /usr/include/c++/11/algorithm:64,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/bits/ranges_util.h:381:5: note: candidate: 'template<long unsigned int _Num, class _It, class _Sent, std::ranges::subrange_kind _Kind>  requires  _Num < 2 constexpr auto std::ranges::get(std::ranges::subrange<_It, _Sent, _Kind>&&)'
  381 |     get(subrange<_It, _Sent, _Kind>&& __r)
      |     ^~~
/usr/include/c++/11/bits/ranges_util.h:381:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::ranges::subrange<_It, _Sent, _Kind>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/ranges_algo.h:36,
                 from /usr/include/c++/11/algorithm:64,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/bits/ranges_util.h:370:5: note: candidate: 'template<long unsigned int _Num, class _It, class _Sent, std::ranges::subrange_kind _Kind>  requires  _Num < 2 constexpr auto std::ranges::get(const std::ranges::subrange<_It, _Sent, _Kind>&)'
  370 |     get(const subrange<_It, _Sent, _Kind>& __r)
      |     ^~~
/usr/include/c++/11/bits/ranges_util.h:370:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::ranges::subrange<_It, _Sent, _Kind>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:361:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp& std::get(std::array<_Tp, _Nm>&)'
  361 |     get(array<_Tp, _Nm>& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:361:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::array<_Tp, _Nm>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:369:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp&& std::get(std::array<_Tp, _Nm>&&)'
  369 |     get(array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:369:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::array<_Tp, _Nm>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:377:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp& std::get(const std::array<_Tp, _Nm>&)'
  377 |     get(const array<_Tp, _Nm>& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:377:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::array<_Tp, _Nm>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/array:385:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp&& std::get(const std::array<_Tp, _Nm>&&)'
  385 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/c++/11/array:385:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::array<_Tp, _Nm>'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1393:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >& std::get(std::tuple<_Args2 ...>&)'
 1393 |     get(tuple<_Elements...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1393:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '__i'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1399:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >& std::get(const std::tuple<_Args2 ...>&)'
 1399 |     get(const tuple<_Elements...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1399:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '__i'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1405:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >&& std::get(std::tuple<_Args2 ...>&&)'
 1405 |     get(tuple<_Elements...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1405:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '__i'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1414:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_Args2 ...> >&& std::get(const std::tuple<_Args2 ...>&&)'
 1414 |     get(const tuple<_Elements...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1414:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '__i'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1449:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp& std::get(std::tuple<_Args2 ...>&)'
 1449 |     get(tuple<_Types...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1449:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '_Tp'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1460:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp&& std::get(std::tuple<_Args2 ...>&&)'
 1460 |     get(tuple<_Types...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1460:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '_Tp'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1471:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp& std::get(const std::tuple<_Args2 ...>&)'
 1471 |     get(const tuple<_Types...>& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1471:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '_Tp'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/tuple:1483:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp&& std::get(const std::tuple<_Args2 ...>&&)'
 1483 |     get(const tuple<_Types...>&& __t) noexcept
      |     ^~~
/usr/include/c++/11/tuple:1483:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:21:20: note:   couldn't deduce template parameter '_Tp'
   21 |         int y = get(q.front());
      |                 ~~~^~~~~~~~~~~
joi2019_ho_t4.cpp:22:24: error: no matching function for call to 'get(__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type&)'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:223:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(std::pair<_OIter1, _OIter2>&)'
  223 |     get(pair<_Tp1, _Tp2>& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:223:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_OIter1, _OIter2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:228:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(std::pair<_OIter1, _OIter2>&&)'
  228 |     get(pair<_Tp1, _Tp2>&& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:228:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_OIter1, _OIter2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:233:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(const std::pair<_OIter1, _OIter2>&)'
  233 |     get(const pair<_Tp1, _Tp2>& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:233:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_OIter1, _OIter2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:238:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(const std::pair<_OIter1, _OIter2>&&)'
  238 |     get(const pair<_Tp1, _Tp2>&& __in) noexcept
      |     ^~~
/usr/include/c++/11/utility:238:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_OIter1, _OIter2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:247:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_T1, _T2>&)'
  247 |     get(pair<_Tp, _Up>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:247:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_T1, _T2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:252:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_T1, _T2>&)'
  252 |     get(const pair<_Tp, _Up>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:252:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_T1, _T2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:257:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_T1, _T2>&&)'
  257 |     get(pair<_Tp, _Up>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:257:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_T1, _T2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:262:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_T1, _T2>&&)'
  262 |     get(const pair<_Tp, _Up>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:262:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_T1, _T2>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:267:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_Up, _Tp>&)'
  267 |     get(pair<_Up, _Tp>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:267:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_Up, _Tp>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:272:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_Up, _Tp>&)'
  272 |     get(const pair<_Up, _Tp>& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:272:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_Up, _Tp>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:277:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_Up, _Tp>&&)'
  277 |     get(pair<_Up, _Tp>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:277:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'std::pair<_Up, _Tp>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:60,
                 from joi2019_ho_t4.cpp:5:
/usr/include/c++/11/utility:282:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_Up, _Tp>&&)'
  282 |     get(const pair<_Up, _Tp>&& __p) noexcept
      |     ^~~
/usr/include/c++/11/utility:282:5: note:   template argument deduction/substitution failed:
joi2019_ho_t4.cpp:22:24: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::tuple<int, int, int> >, std::tuple<int, int, int> >::value_type' {aka 'std::tuple<int, int, int>'} is not derived from 'const std::pair<_Up, _Tp>'
   22 |         int steps = get(q.front());
      |                     ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/ranges_algo.h:36,
                 from /usr/include/c+