# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1150434 | polarity | Swap (BOI16_swap) | C++20 | Compilation error | 0 ms | 0 KiB |
/**
* Solution by 1egend (polarity.sh)
* Date: 2025-02-14
* Contest: Baltic OI 2016
* Problem: swap
**/
#include <bits/stdc++.h>
using namespace std;
using ull = unsigned long long;
using ll = long long;
using vi = vector<int>;
using vl = vector<ll>;
using pii = pair<int, int>;
#define pb push_back
#define rep(i, a, b) for(int i = (a); i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
const int MAX_N = 2e5 + 1;
const ll MOD = 1e9 + 7;
/** TOOL: Debug
* PURPOSE: Prints various data types to terminal
* SOURCE: tourist
*/
template <typename A, typename B>
string to_string(pair<A, B> p);
template <typename A, typename B, typename C>
string to_string(tuple<A, B, C> p);
template <typename A, typename B, typename C, typename D>
string to_string(tuple<A, B, C, D> p);
string to_string(const string& s) {
return '"' + s + '"';
}
string to_string(const char* s) {
return to_string((string) s);
}
string to_string(bool b) {
return (b ? "true" : "false");
}
string to_string(vector<bool> v) {
bool first = true;
string res = "{";
for (int i = 0; i < static_cast<int>(v.size()); i++) {
if (!first) {
res += ", ";
}
first = false;
res += to_string(v[i]);
}
res += "}";
return res;
}
template <size_t N>
string to_string(bitset<N> v) {
string res = "";
for (size_t i = 0; i < N; i++) {
res += static_cast<char>('0' + v[i]);
}
return res;
}
template <typename A>
string to_string(A v) {
bool first = true;
string res = "{";
for (const auto &x : v) {
if (!first) {
res += ", ";
}
first = false;
res += to_string(x);
}
res += "}";
return res;
}
template <typename A, typename B>
string to_string(pair<A, B> p) {
return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
}
template <typename A, typename B, typename C>
string to_string(tuple<A, B, C> p) {
return "(" + to_string(get<0>(p)) + ", " + to_string(get<1>(p)) + ", " + to_string(get<2>(p)) + ")";
}
template <typename A, typename B, typename C, typename D>
string to_string(tuple<A, B, C, D> p) {
return "(" + to_string(get<0>(p)) + ", " + to_string(get<1>(p)) + ", " + to_string(get<2>(p)) + ", " + to_string(get<3>(p)) + ")";
}
void debug_out() { cerr << endl; }
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {
cerr << " " << to_string(H);
debug_out(T...);
}
// O(n logn) space
// Since I'm lazy use a map for O(n (logn)^2)
vector<map<int, int>> dp;
vi tree;
int nn = 1;
int findpos(int a, int val){
return (*prev(upper_bound(all(dp[a]), pii{val, INT_MAX}))).second;
}
/** THIS DOES NOT WORK SINCE THE "end up" position of a value in a subtree root is not monotonic
* But easy fix, just ditch the binary sort and DP directly, only logn values of subtree roots possible, and you only need to compare end up positions to determine optimal allocation (very trivial)
* O(n logn)
*/
// Since I'm lazy use a map for O(n (logn)^2)
int rec(int node, int x){
if (dp[node][x] != 0){
return dp[node][x];
}
if (node >= nn/2){
// leaf
return dp[node][x] = node;
}
int a = node * 2, b = node * 2 + 1;
int aa = tree[a], bb = tree[b];
if (x < aa && x < bb){
return dp[node][x] = node;
}
if (aa < bb){
return dp[node][x] = rec(a, x);
}
if (x < aa){
return dp[node][x] = min(rec(a, x), rec(b, x));
}
int p1 = rec(a, aa), p2 = rec(b, aa);
if (p1 < p2){
return dp[node][x] = rec(b, x);
}
return dp[node][x] = rec(a, x);
}
void extract(int node){
if (node >= nn/2){
// leaf
return;
}
int x = tree[node];
int a = node * 2, b = node * 2 + 1;
int aa = tree[a], bb = tree[b];
if (x < aa && x < bb){
extract(a); extract(b);
return;
}
if (aa < bb){
swap(tree[node], tree[a]);
extract(a); extract(b);
return;
}
tree[node] = bb;
int p = min(x, aa), q = max(x, aa);
if (rec(a, p) < rec(b, p)){
tree[a] = p;
tree[b] = q;
} else {
tree[a] = q;
tree[b] = p;
}
extract(a); extract(b);
}
void solve(){
int n; cin >> n;
while(nn <= n){
nn *= 2;
}
tree = vi(nn, MAX_N);
dp = vector<map<int, int>>(nn);
rep(i, 0, n){
cin >> tree[i + 1];
}
extract(1);
rep(i, 1, n + 1){
cout << tree[i] << " ";
}
cout << endl;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
solve();
return 0;
}
Compilation message (stderr)
In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Val_less_iter::operator()(_Value&, _Iterator) const [with _Value = const std::pair<int, int>; _Iterator = std::_Rb_tree_iterator<std::pair<const int, int> >]': /usr/include/c++/11/bits/stl_algo.h:2041:14: required from 'constexpr _ForwardIterator std::__upper_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = std::_Rb_tree_iterator<std::pair<const int, int> >; _Tp = std::pair<int, int>; _Compare = __gnu_cxx::__ops::_Val_less_iter]' /usr/include/c++/11/bits/stl_algo.h:2076:32: required from 'constexpr _FIter std::upper_bound(_FIter, _FIter, const _Tp&) [with _FIter = std::_Rb_tree_iterator<std::pair<const int, int> >; _Tp = std::pair<int, int>]' swap.cpp:118:30: required from here /usr/include/c++/11/bits/predefined_ops.h:98:22: error: no match for 'operator<' (operand types are 'const std::pair<int, int>' and 'std::pair<const int, int>') 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/stl_iterator.h:1129:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> constexpr std::__detail::__synth3way_t<_IteratorR, _IteratorL> __gnu_cxx::operator<=>(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)' (reversed) 1129 | operator<=>(const __normal_iterator<_IteratorL, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/stl_iterator.h:1129:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/regex:63, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110, from swap.cpp:8: /usr/include/c++/11/bits/regex.h:1244:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Alloc> auto std::__cxx11::operator<=>(const std::__cxx11::sub_match<_BiIter>&, std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)' (reversed) 1244 | operator<=>(const sub_match<_Bi_iter>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/regex.h:1244:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/regex:63, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110, from swap.cpp:8: /usr/include/c++/11/bits/regex.h:1412:5: note: candidate: 'template<class _Bi_iter> auto std::__cxx11::operator<=>(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)' (reversed) 1412 | operator<=>(const sub_match<_Bi_iter>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/regex.h:1412:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/regex:63, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110, from swap.cpp:8: /usr/include/c++/11/bits/regex.h:1585:5: note: candidate: 'template<class _Bi_iter> auto std::__cxx11::operator<=>(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)' (reversed) 1585 | operator<=>(const sub_match<_Bi_iter>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/regex.h:1585:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::reverse_iterator<_IteratorL>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::move_iterator<_IteratorL>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'std::basic_string_view<_CharT, _Traits>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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 /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from swap.cpp:8: /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<_UTypes ...>&)' (reversed) 1557 | operator<=>(const tuple<_Tps...>& __t, const tuple<_Ups...>& __u) | ^~~~~~~~ /usr/include/c++/11/tuple:1557:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::tuple<_Tps ...>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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 /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:72, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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 /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:72, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/shared_ptr.h:53, from /usr/include/c++/11/memory:77, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82, from swap.cpp:8: /usr/include/c++/11/bits/shared_ptr_base.h:1422:5: note: candidate: 'template<class _Tp, class _Up, __gnu_cxx::_Lock_policy _Lp> std::strong_ordering std::operator<=>(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)' (reversed) 1422 | operator<=>(const __shared_ptr<_Tp, _Lp>& __a, | ^~~~~~~~ /usr/include/c++/11/bits/shared_ptr_base.h:1422:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::__shared_ptr<_Tp1, _Lp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/shared_ptr.h:53, from /usr/include/c++/11/memory:77, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82, from swap.cpp:8: /usr/include/c++/11/bits/shared_ptr_base.h:1428:5: note: candidate: 'template<class _Tp, __gnu_cxx::_Lock_policy _Lp> std::strong_ordering std::operator<=>(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)' (reversed) 1428 | operator<=>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/11/bits/shared_ptr_base.h:1428:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::__shared_ptr<_Tp, _Lp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/memory:77, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82, from swap.cpp:8: /usr/include/c++/11/bits/shared_ptr.h:449:5: note: candidate: 'template<class _Tp, class _Up> std::strong_ordering std::operator<=>(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Tp>&)' (reversed) 449 | operator<=>(const shared_ptr<_Tp>& __a, | ^~~~~~~~ /usr/include/c++/11/bits/shared_ptr.h:449:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::shared_ptr<_Tp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/memory:77, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82, from swap.cpp:8: /usr/include/c++/11/bits/shared_ptr.h:455:5: note: candidate: 'template<class _Tp> std::strong_ordering std::operator<=>(const std::shared_ptr<_Tp>&, std::nullptr_t)' (reversed) 455 | operator<=>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept | ^~~~~~~~ /usr/include/c++/11/bits/shared_ptr.h:455:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::shared_ptr<_Tp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:130, from swap.cpp:8: /usr/include/c++/11/optional:1096:5: note: candidate: 'template<class _Tp, class _Up> requires three_way_comparable_with<_Up, _Tp, std::partial_ordering> constexpr std::compare_three_way_result_t<_IteratorL, _IteratorR> std::operator<=>(const std::optional<_Tp>&, const std::optional<_Up>&)' (reversed) 1096 | operator<=>(const optional<_Tp>& __x, const optional<_Up>& __y) | ^~~~~~~~ /usr/include/c++/11/optional:1096:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::optional<_Tp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:130, from swap.cpp:8: /usr/include/c++/11/optional:1111:5: note: candidate: 'template<class _Tp> constexpr std::strong_ordering std::operator<=>(const std::optional<_Tp>&, std::nullopt_t)' (reversed) 1111 | operator<=>(const optional<_Tp>& __x, nullopt_t) noexcept | ^~~~~~~~ /usr/include/c++/11/optional:1111:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::optional<_Tp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:130, from swap.cpp:8: /usr/include/c++/11/optional:1253:5: note: candidate: 'template<class _Tp, class _Up> requires !(__is_optional_v<_Up>) && (three_way_comparable_with<_Tp, _Up, std::partial_ordering>) constexpr std::compare_three_way_result_t<_IteratorL, _IteratorR> std::operator<=>(const std::optional<_Tp>&, const _Up&)' (reversed) 1253 | operator<=>(const optional<_Tp>& __x, const _Up& __v) | ^~~~~~~~ /usr/include/c++/11/optional:1253:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<const int, int>' is not derived from 'const std::optional<_Tp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/stl_iterator.h:1146:5: note: candidate: 'template<class _Iterator, class _Container> constexpr std::__detail::__synth3way_t<_T1> __gnu_cxx::operator<=>(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)' (rewritten) 1146 | operator<=>(const __normal_iterator<_Iterator, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/stl_iterator.h:1146:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/regex:63, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110, from swap.cpp:8: /usr/include/c++/11/bits/regex.h:1072:5: note: candidate: 'template<class _BiIter> auto std::__cxx11::operator<=>(const std::__cxx11::sub_match<_BiIter>&, const std::__cxx11::sub_match<_BiIter>&)' (rewritten) 1072 | operator<=>(const sub_match<_BiIter>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/regex.h:1072:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: deduced conflicting types for parameter '_T1' ('int' and 'const int') 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::reverse_iterator<_IteratorL>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::move_iterator<_IteratorL>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'std::pair<int, int>' is not derived from 'std::basic_string_view<_CharT, _Traits>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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 /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::array<_Tp, _Nm>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/vector:67, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::vector<_Tp, _Alloc>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/deque:67, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:68, from swap.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::deque<_Tp, _Alloc>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/list:63, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:79, from swap.cpp:8: /usr/include/c++/11/bits/stl_list.h:2065:5: note: candidate: 'template<class _Tp, class _Alloc> std::__detail::__synth3way_t<_T1> std::operator<=>(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&)' (rewritten) 2065 | operator<=>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | ^~~~~~~~ /usr/include/c++/11/bits/stl_list.h:2065:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::__cxx11::list<_Tp, _Alloc>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/map:61, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:81, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::map<_Key, _Tp, _Compare, _Allocator>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/map:62, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:81, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Allocator>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/queue:64, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:86, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::queue<_Tp, _Seq>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/set:61, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::set<_Key, _Compare, _Allocator>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/set:62, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87, from swap.cpp:8: /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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::multiset<_Key, _Compare, _Allocator>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/stack:61, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:89, from swap.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::stack<_Tp, _Seq>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/forward_list:38, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:104, from swap.cpp:8: /usr/include/c++/11/bits/forward_list.h:1446:5: note: candidate: 'template<class _Tp, class _Alloc> std::__detail::__synth3way_t<_T1> std::operator<=>(const std::forward_list<_Tp, _Alloc>&, const std::forward_list<_Tp, _Alloc>&)' (rewritten) 1446 | operator<=>(const forward_list<_Tp, _Alloc>& __x, | ^~~~~~~~ /usr/include/c++/11/bits/forward_list.h:1446:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::forward_list<_Tp, _Alloc>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from swap.cpp:8: /usr/include/c++/11/variant:1246:5: note: candidate: 'template<class ... _Types> requires (three_way_comparable<_Types, std::partial_ordering> && ...) constexpr std::common_comparison_category_t<typename std::__detail::__cmp3way_res_impl<_Types, _Types>::type ...> std::operator<=>(const std::variant<_Types ...>&, const std::variant<_Types ...>&)' (rewritten) 1246 | operator<=>(const variant<_Types...>& __v, const variant<_Types...>& __w) | ^~~~~~~~ /usr/include/c++/11/variant:1246:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from swap.cpp:8: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'const std::pair<int, int>' is not derived from 'const std::variant<_Types ...>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:142, from swap.cpp:8: /usr/include/c++/11/coroutine:144:3: note: candidate: 'constexpr std::strong_ordering std::__n4861::operator<=>(std::__n4861::coroutine_handle<void>, std::__n4861::coroutine_handle<void>)' (rewritten) 144 | operator<=>(coroutine_handle<> __a, coroutine_handle<> __b) noexcept | ^~~~~~~~ /usr/include/c++/11/coroutine:144:34: note: no known conversion for argument 1 from 'const std::pair<int, int>' to 'std::__n4861::coroutine_handle<void>' 144 | operator<=>(coroutine_handle<> __a, coroutine_handle<> __b) noexcept | ~~~~~~~~~~~~~~~~~~~^~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from swap.cpp:8: /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 'const std::pair<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 'const std::pair<int, int>' to 'const std::error_condition&' 387 | operator<=>(const error_condition& __lhs, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:113, from swap.cpp:8: /usr/include/c++/11/thread:62:3: note: candidate: 'std::strong_ordering std::operator<=>(std::thread::id, std::thread::id)' (rewritten) 62 | operator<=>(thread::id __x, thread::id __y) noexcept | ^~~~~~~~ /usr/include/c++/11/thread:62:26: note: no known conversion for argument 1 from 'const std::pair<int, int>' to 'std::thread::id' 62 | operator<=>(thread::id