Submission #1262376

#TimeUsernameProblemLanguageResultExecution timeMemory
1262376PlayVoltzMaze (JOI23_ho_t3)C++20
Compilation error
0 ms0 KiB
#include <cstdio> #include <stdio.h> #include <stdbool.h> #include <iostream> #include <map> #include <vector> #include <climits> #include <stack> #include <string> #include <queue> #include <algorithm> #include <set> #include <unordered_set> #include <unordered_map> #include <cmath> #include <cctype> #include <bitset> #include <iomanip> #include <cstring> #include <numeric> #include <cassert> #include <random> #include <chrono> #include <fstream> using namespace std; #define int long long #define pii pair<int, int> #define mp make_pair #define pb push_back #define fi first #define se second int dy[8]={0, 0, -1, 1, -1, 1, -1, 1}; int dx[8]={1, -1, 0, 0, -1, 1, 1, -1}; int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m, k, sx, sy, ex, ey; cin>>n>>m>>k>>sx>>sy>>ex>>ey, --sx, --sy, --ex, --ey; vector<string> graph(n); for (int i=0; i<n; ++i)cin>>graph[i]; vector<vector<bool> > visited(n, vector<bool>(m, 0)); vector<vector<pii> > dist(n, vector<pii>(m, mp(LLONG_MAX/2, LLONG_MAX/2))); priority_queue<pair<pii, pii>, vector<pair<pii, pii> >, greater<pair<pii, pii> > > pq; dist[sx][sy]=mp(0, k-1); pq.push(mp(mp(0, k-1), mp(sx, sy))); while (pq.size()){ int x=pq.top().se.fi, y=pq.top().se.se; pq.pop(); if (visited[x][y])continue; visited[x][y]=1; for (int i=0; i<4; ++i){ int nx=x+dx[i], ny=y+dy[i]; if (nx<0||ny<0||nx>=n||ny>=m||visited[nx][ny])continue; if (graph[nx][ny]=='.'&&mp(dist[x][y].fi, k-1)<dist[nx][ny]){ dist[nx][ny]=mp(dist[x][y].fi, k-1); pq.push(mp(mp(dist[x][y].fi, k-1), mp(nx, ny))); } if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){ dist[nx][ny]=mp(dist[x][y].fi+1, 0); pq.push(mp(mp(dist[x][y].fi+1, 0), mp(nx, ny))); } } if (dist[x][y].se!=k-1)for (int i=0; i<8; ++i){ int nx=x+dx[i], ny=y+dy[i]; if (nx<0||ny<0||nx>=n||ny>=m||visited[nx][ny])continue; if (mp(dist[x][y].fi, dist[x][y].se+1)<dist[nx][ny]){ dist[nx][ny]=mp(dist[x][y].fi, dist[x][y].se+1); pq.push(mp(mp(dist[x][y].fi, dist[x][y].se+1), mp(nx, ny))); } } } cout<<dist[ex][ey].fi; }

Compilation message (stderr)

Main.cpp: In function 'int32_t main()':
Main.cpp:62:51: error: no match for 'operator<' (operand types are 'std::pair<long long int, int>' and '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'})
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/stl_iterator.h:538:5: note: candidate: 'template<class _IteratorL, class _IteratorR>  requires  three_way_comparable_with<_IteratorR, _IteratorL, std::partial_ordering> constexpr std::compare_three_way_result_t<_IteratorL, _IteratorR> std::operator<=>(const std::reverse_iterator<_IteratorL>&, const std::reverse_iterator<_IteratorR>&)' (reversed)
  538 |     operator<=>(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:538:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'} is not derived from 'const std::reverse_iterator<_IteratorL>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/stl_iterator.h:1596:5: note: candidate: 'template<class _IteratorL, class _IteratorR>  requires  three_way_comparable_with<_IteratorR, _IteratorL, std::partial_ordering> constexpr std::compare_three_way_result_t<_IteratorL, _IteratorR> std::operator<=>(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)' (reversed)
 1596 |     operator<=>(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1596:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'} is not derived from 'const std::move_iterator<_IteratorL>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/string_view:556:5: note: candidate: 'template<class _CharT, class _Traits> constexpr decltype (__char_traits_cmp_cat<_Traits>(0)) std::operator<=>(std::basic_string_view<_CharT, _Traits>, std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >)' (reversed)
  556 |     operator<=>(basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/11/string_view:556:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, long long int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/basic_string.h:6276:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> decltype (__char_traits_cmp_cat<_Traits>(0)) std::operator<=>(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)' (reversed)
 6276 |     operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6276:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'} is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/stl_map.h:63,
                 from /usr/include/c++/11/map:61,
                 from Main.cpp:5:
/usr/include/c++/11/tuple:1557:5: note: candidate: 'template<class ... _Tps, class ... _Ups> constexpr std::common_comparison_category_t<decltype (std::__detail::__synth3way(declval<_Tps&>(), declval<_Ups&>()))...> std::operator<=>(const std::tuple<_Tps ...>&, const std::tuple<_Args2 ...>&)' (reversed)
 1557 |     operator<=>(const tuple<_Tps...>& __t, const tuple<_Ups...>& __u)
      |     ^~~~~~~~
/usr/include/c++/11/tuple:1557:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'} is not derived from 'const std::tuple<_Tps ...>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from Main.cpp:18:
/usr/include/c++/11/bits/unique_ptr.h:895:5: note: candidate: 'template<class _Tp, class _Dp, class _Up, class _Ep>  requires  three_way_comparable_with<typename std::unique_ptr<_Tp, _Dp>::pointer, typename std::unique_ptr<_Up, _Ep>::pointer, std::partial_ordering> std::compare_three_way_result_t<typename std::unique_ptr<_Tp, _Dp>::pointer, typename std::unique_ptr<_Up, _Ep>::pointer> std::operator<=>(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)' (reversed)
  895 |     operator<=>(const unique_ptr<_Tp, _Dp>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:895:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'} is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from Main.cpp:18:
/usr/include/c++/11/bits/unique_ptr.h:903:5: note: candidate: 'template<class _Tp, class _Dp>  requires  three_way_comparable<typename std::unique_ptr<_Tp, _Dp>::pointer, std::partial_ordering> std::compare_three_way_result_t<typename std::unique_ptr<_Tp, _Dp>::pointer> std::operator<=>(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)' (reversed)
  903 |     operator<=>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:903:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'} is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/stl_pair.h:473:5: note: candidate: 'template<class _T1, class _T2> constexpr std::common_comparison_category_t<decltype (std::__detail::__synth3way(declval<_T1&>(), declval<_T1&>())), decltype (std::__detail::__synth3way(declval<_T2&>(), declval<_T2&>()))> std::operator<=>(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)' (rewritten)
  473 |     operator<=>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_pair.h:473:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   deduced conflicting types for parameter '_T2' ('int' and 'long long int')
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/stl_iterator.h:554:5: note: candidate: 'template<class _Iterator>  requires  three_way_comparable<_Iterator, std::partial_ordering> constexpr std::compare_three_way_result_t<_Iterator, _Iterator> std::operator<=>(const std::reverse_iterator<_IteratorL>&, const std::reverse_iterator<_IteratorL>&)' (rewritten)
  554 |     operator<=>(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:554:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::reverse_iterator<_IteratorL>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/stl_iterator.h:1655:5: note: candidate: 'template<class _Iterator>  requires  three_way_comparable<_Iterator, std::partial_ordering> constexpr std::compare_three_way_result_t<_Iterator, _Iterator> std::operator<=>(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)' (rewritten)
 1655 |     operator<=>(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1655:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::move_iterator<_IteratorL>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/string_view:549:5: note: candidate: 'template<class _CharT, class _Traits> constexpr decltype (__char_traits_cmp_cat<_Traits>(0)) std::operator<=>(std::basic_string_view<_CharT, _Traits>, std::basic_string_view<_CharT, _Traits>)' (rewritten)
  549 |     operator<=>(basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/11/string_view:549:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/basic_string.h:6262:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> decltype (__char_traits_cmp_cat<_Traits>(0)) std::operator<=>(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' (rewritten)
 6262 |     operator<=>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6262:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/bits/stl_map.h:63,
                 from /usr/include/c++/11/map:61,
                 from Main.cpp:5:
/usr/include/c++/11/array:282:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr std::__detail::__synth3way_t<_T1> std::operator<=>(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)' (rewritten)
  282 |     operator<=>(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
      |     ^~~~~~~~
/usr/include/c++/11/array:282:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::array<_Tp, _Nm>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/map:61,
                 from Main.cpp:5:
/usr/include/c++/11/bits/stl_map.h:1484:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> std::__detail::__synth3way_t<std::pair<const _Key, _Tp> > std::operator<=>(const std::map<_Key, _Tp, _Compare, _Allocator>&, const std::map<_Key, _Tp, _Compare, _Allocator>&)' (rewritten)
 1484 |     operator<=>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_map.h:1484:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::map<_Key, _Tp, _Compare, _Allocator>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/map:62,
                 from Main.cpp:5:
/usr/include/c++/11/bits/stl_multimap.h:1149:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> std::__detail::__synth3way_t<std::pair<const _Key, _Tp> > std::operator<=>(const std::multimap<_Key, _Tp, _Compare, _Allocator>&, const std::multimap<_Key, _Tp, _Compare, _Allocator>&)' (rewritten)
 1149 |     operator<=>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_multimap.h:1149:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Allocator>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/vector:67,
                 from Main.cpp:6:
/usr/include/c++/11/bits/stl_vector.h:1910:5: note: candidate: 'template<class _Tp, class _Alloc> std::__detail::__synth3way_t<_T1> std::operator<=>(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)' (rewritten)
 1910 |     operator<=>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1910:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::vector<_Tp, _Alloc>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/deque:67,
                 from /usr/include/c++/11/stack:60,
                 from Main.cpp:8:
/usr/include/c++/11/bits/stl_deque.h:2265:5: note: candidate: 'template<class _Tp, class _Alloc> std::__detail::__synth3way_t<_T1> std::operator<=>(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)' (rewritten)
 2265 |     operator<=>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_deque.h:2265:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::deque<_Tp, _Alloc>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/stack:61,
                 from Main.cpp:8:
/usr/include/c++/11/bits/stl_stack.h:367:5: note: candidate: 'template<class _Tp, class _Seq>  requires  three_way_comparable<_Seq, std::partial_ordering> std::compare_three_way_result_t<_Seq> std::operator<=>(const std::stack<_Tp, _Seq>&, const std::stack<_Tp, _Seq>&)' (rewritten)
  367 |     operator<=>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_stack.h:367:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::stack<_Tp, _Seq>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/queue:64,
                 from Main.cpp:10:
/usr/include/c++/11/bits/stl_queue.h:392:5: note: candidate: 'template<class _Tp, class _Seq>  requires  three_way_comparable<_Seq, std::partial_ordering> std::compare_three_way_result_t<_Seq> std::operator<=>(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&)' (rewritten)
  392 |     operator<=>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_queue.h:392:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::queue<_Tp, _Seq>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/set:61,
                 from Main.cpp:12:
/usr/include/c++/11/bits/stl_set.h:1006:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> std::__detail::__synth3way_t<_T1> std::operator<=>(const std::set<_Key, _Compare, _Allocator>&, const std::set<_Key, _Compare, _Allocator>&)' (rewritten)
 1006 |     operator<=>(const set<_Key, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_set.h:1006:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::set<_Key, _Compare, _Allocator>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/set:62,
                 from Main.cpp:12:
/usr/include/c++/11/bits/stl_multiset.h:992:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> std::__detail::__synth3way_t<_T1> std::operator<=>(const std::multiset<_Key, _Compare, _Allocator>&, const std::multiset<_Key, _Compare, _Allocator>&)' (rewritten)
  992 |     operator<=>(const multiset<_Key, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_multiset.h:992:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::multiset<_Key, _Compare, _Allocator>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/ios_base.h:46,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/system_error:261:3: note: candidate: 'std::strong_ordering std::operator<=>(const std::error_code&, const std::error_code&)' (rewritten)
  261 |   operator<=>(const error_code& __lhs, const error_code& __rhs) noexcept
      |   ^~~~~~~~
/usr/include/c++/11/system_error:261:33: note:   no known conversion for argument 1 from 'std::pair<long long int, int>' to 'const std::error_code&'
  261 |   operator<=>(const error_code& __lhs, const error_code& __rhs) noexcept
      |               ~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/11/system_error:387:3: note: candidate: 'std::strong_ordering std::operator<=>(const std::error_condition&, const std::error_condition&)' (rewritten)
  387 |   operator<=>(const error_condition& __lhs,
      |   ^~~~~~~~
/usr/include/c++/11/system_error:387:38: note:   no known conversion for argument 1 from 'std::pair<long long int, int>' to 'const std::error_condition&'
  387 |   operator<=>(const error_condition& __lhs,
      |               ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/stl_iterator.h:509:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::reverse_iterator<_IteratorL>&, const std::reverse_iterator<_IteratorR>&) requires requires{{std::operator<::__x->base() > std::operator<::__y->base()} -> decltype(auto) [requires std::convertible_to<<placeholder>, bool>];}'
  509 |     operator<(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:509:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::reverse_iterator<_IteratorL>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Main.cpp:4:
/usr/include/c++/11/bits/stl_iterator.h:1609:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&) requires requires{{std::operator<::__x->base() < std::operator<::__y->base()} -> decltype(auto) [requires std::convertible_to<<placeholder>, bool>];}'
 1609 |     operator<(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1609:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::move_iterator<_IteratorL>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/stack:61,
                 from Main.cpp:8:
/usr/include/c++/11/bits/stl_stack.h:337:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator<(const std::stack<_Tp, _Seq>&, const std::stack<_Tp, _Seq>&)'
  337 |     operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_stack.h:337:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::stack<_Tp, _Seq>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/queue:64,
                 from Main.cpp:10:
/usr/include/c++/11/bits/stl_queue.h:362:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator<(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&)'
  362 |     operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_queue.h:362:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::queue<_Tp, _Seq>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from Main.cpp:18:
/usr/include/c++/11/bits/unique_ptr.h:795:5: note: candidate: 'template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)'
  795 |     operator<(const unique_ptr<_Tp, _Dp>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:795:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from Main.cpp:18:
/usr/include/c++/11/bits/unique_ptr.h:807:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)'
  807 |     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:807:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   'std::pair<long long int, int>' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from Main.cpp:18:
/usr/include/c++/11/bits/unique_ptr.h:816:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator<(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)'
  816 |     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:816:5: note:   template argument deduction/substitution failed:
Main.cpp:62:63: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'std::pair<long long int, long long int>'} is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   62 |                         if (mp(dist[x][y].fi+1, 0)<dist[nx][ny]){
      |                                                               ^