Submission #400360

#TimeUsernameProblemLanguageResultExecution timeMemory
40036012tqianIOI Fever (JOI21_fever)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define f1r(i, a, b) for (int i = a; i < b; ++i) #define f0r(i, a) f1r(i, 0, a) #define each(t, a) for (auto& t : a) #define mp make_pair #define f first #define s second #define pb push_back #define eb emplace_back #define sz(x) (int)(x).size() #define all(x) begin(x), end(x) typedef long long ll; typedef vector<int> vi; typedef vector<ll> vl; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef vector<pi> vpi; typedef vector<pl> vpl; template <class T> bool ckmin(T& a, const T& b) { return b < a ? a = b, 1 : 0; } template <class T> bool ckmax(T& a, const T& b) { return a < b ? a = b, 1 : 0; } const int INF = numeric_limits<int>::max(); int main() { cin.tie(0)->sync_with_stdio(0); int n; cin >> n; vpi p(n); f0r(i, n) cin >> p[i].f >> p[i].s; map<int, set<int>> X; map<int, set<int>> Y; map<int, set<int>> S; map<int, set<int>> D; f0r(i, n) { X[p[i].f].insert(i); Y[p[i].s].insert(i); S[p[i].f + p[i].s].insert(i); D[p[i].f - p[i].s].insert(i); } each(v, X) { sort(all(v.s), [&](int x, int y) { return p[x].s < p[y].s; }); } each(v, Y) { sort(all(v.s), [&](int x, int y) { return p[x].f < p[y].f; }); } each(v, S) { sort(all(v.s), [&](int x, int y) { return p[x].f < p[y].f; }); } each(v, D) { sort(all(v.s), [&](int x, int y) { return p[x].f < p[y].f; }); } auto run_dijkstra = [&](int beg) -> int { priority_queue<pi, vpi, greater<pi>> pq; vi dist(4 * n, INF); vector<bool> vis(4 * n); int cnt = 0; auto ad = [&](int a, ll b) { if (vis[a] && dist[a] == b) { return; } vis[a] = true; cnt++; if (dist[a] <= b) return; pq.push({dist[a] = b, a}); }; ad(beg, 0); auto calc = [&](pi x, pi y) -> int { int nd = 2 * max(abs(x.f - y.f), abs(x.s - y.s)); if (x.f == y.f) { nd = abs(x.s - y.s); } else if (x.s == y.s) { nd = abs(x.f - y.f); } return nd; }; while (!pq.empty()) { auto x = pq.top(); pq.pop(); int u = x.s / 4; int d = x.s % 4; if (dist[4 * u + d] < x.f) { continue; } { // vertical auto& v = X[p[u].f]; if (d == 2) { auto loc = v.begin(); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 0, nd); loc++; } } if (d == 0) { auto loc = prev(v.end()); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 2, nd); loc--; } } } { // horizontal auto& v = Y[p[u].s]; if (d == 3) { auto loc = v.begin(); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 1, nd); loc++; } } if (d == 1) { auto loc = prev(v.end()); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 3, nd); loc--; } } } { // sum auto& v = S[p[u].f + p[u].s]; if (d == 3) { auto loc = v.begin(); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 2, nd); loc++; } } if (d == 0) { auto loc = v.begin(); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 1, nd); loc++; } } if (d == 1) { auto loc = prev(v.end()); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 0, nd); loc--; } } if (d == 2) { auto loc = prev(v.end()); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 3, nd); loc--; } } } { // diff auto& v = D[p[u].f - p[u].s]; if (d == 3) { auto loc = v.begin(); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 0, nd); loc++; } } if (d == 2) { auto loc = v.begin(); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 1, nd); loc++; } } if (d == 0) { auto loc = prev(v.end()); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 3, nd); loc--; } } if (d == 1) { auto loc = prev(v.end()); while (*loc != u) { int i = *loc; int nd = calc(p[i], p[u]); if (nd < x.f) break; ad(4 * i + 2, nd); loc--; } } } } int res = 0; f0r(i, n) { int a = 0; f0r(d, 4) { a += (dist[4 * i + d] < INF); } assert(a <= 1); res += a; } // assert(cnt <= 5 * n); return res; }; int ans = 0; f0r(d, 4) { ckmax(ans, run_dijkstra(d)); } cout << ans << '\n'; return 0; } /** * first try n^2 bash * 0 - up * 1 - right * 2 - down * 3 - left */

Compilation message (stderr)

In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::_Rb_tree_const_iterator<int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int, int)> >]':
/usr/include/c++/9/bits/stl_algo.h:4899:18:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::_Rb_tree_const_iterator<int>; _Compare = main()::<lambda(int, int)>]'
fever.cpp:48:10:   required from here
/usr/include/c++/9/bits/stl_algo.h:1968:22: error: no match for 'operator-' (operand types are 'std::_Rb_tree_const_iterator<int>' and 'std::_Rb_tree_const_iterator<int>')
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:67,
                 from /usr/include/c++/9/bits/specfun.h:45,
                 from /usr/include/c++/9/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:41,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_iterator.h:415:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr decltype ((__y.base() - __x.base())) std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)'
  415 |     operator-(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/9/bits/stl_iterator.h:415:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::reverse_iterator<_Iterator>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:67,
                 from /usr/include/c++/9/bits/specfun.h:45,
                 from /usr/include/c++/9/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:41,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_iterator.h:1212:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr decltype ((__x.base() - __y.base())) std::operator-(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)'
 1212 |     operator-(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/9/bits/stl_iterator.h:1212:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::move_iterator<_IteratorL>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from fever.cpp:1:
/usr/include/c++/9/complex:357:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const std::complex<_Tp>&)'
  357 |     operator-(const complex<_Tp>& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/9/complex:357:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::complex<_Tp>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from fever.cpp:1:
/usr/include/c++/9/complex:366:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const _Tp&)'
  366 |     operator-(const complex<_Tp>& __x, const _Tp& __y)
      |     ^~~~~~~~
/usr/include/c++/9/complex:366:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::complex<_Tp>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from fever.cpp:1:
/usr/include/c++/9/complex:375:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const _Tp&, const std::complex<_Tp>&)'
  375 |     operator-(const _Tp& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/9/complex:375:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::complex<_Tp>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from fever.cpp:1:
/usr/include/c++/9/complex:452:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const std::complex<_Tp>&)'
  452 |     operator-(const complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/9/complex:452:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::complex<_Tp>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/vector:68,
                 from /usr/include/c++/9/functional:62,
                 from /usr/include/c++/9/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/9/algorithm:71,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_bvector.h:214:3: note: candidate: 'std::ptrdiff_t std::operator-(const std::_Bit_iterator_base&, const std::_Bit_iterator_base&)'
  214 |   operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
      |   ^~~~~~~~
/usr/include/c++/9/bits/stl_bvector.h:214:39: note:   no known conversion for argument 1 from 'std::_Rb_tree_const_iterator<int>' to 'const std::_Bit_iterator_base&'
  214 |   operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/9/deque:67,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:68,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_deque.h:370:5: note: candidate: 'template<class _Tp, class _Ref, class _Ptr> typename std::_Deque_iterator<_Tp, _Ref, _Ptr>::difference_type std::operator-(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _Ref, _Ptr>&)'
  370 |     operator-(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
      |     ^~~~~~~~
/usr/include/c++/9/bits/stl_deque.h:370:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/deque:67,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:68,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_deque.h:382:5: note: candidate: 'template<class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> typename std::_Deque_iterator<_Tp, _Ref, _Ptr>::difference_type std::operator-(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _RefR, _PtrR>&)'
  382 |     operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
      |     ^~~~~~~~
/usr/include/c++/9/bits/stl_deque.h:382:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, __minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, __minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, __minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray<typename _Dom::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, __minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/9/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::valarray<typename _Dom::value_type>&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, __minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/valarray:1186:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__minus, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__minus, _Tp>::result_type> std::operator-(const std::valarray<_Tp>&, const std::valarray<_Tp>&)'
 1186 | _DEFINE_BINARY_OPERATOR(-, __minus)
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/valarray:1186:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::valarray<_Tp>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/valarray:1186:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__minus, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__minus, _Tp>::result_type> std::operator-(const std::valarray<_Tp>&, const typename std::valarray<_Tp>::value_type&)'
 1186 | _DEFINE_BINARY_OPERATOR(-, __minus)
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/valarray:1186:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::valarray<_Tp>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:95,
                 from fever.cpp:1:
/usr/include/c++/9/valarray:1186:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__minus, _Tp>::result_type> std::operator-(const typename std::valarray<_Tp>::value_type&, const std::valarray<_Tp>&)'
 1186 | _DEFINE_BINARY_OPERATOR(-, __minus)
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/valarray:1186:1: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from fever.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:1968:22: note:   'std::_Rb_tree_const_iterator<int>' is not derived from 'const std::valarray<_Tp>'
 1968 |     std::__lg(__last - __first) * 2,
      |               ~~~~~~~^~~~~~~~~
/usr/include/c++/9/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::_Rb_tree_const_iterator<int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int, int)> >]':
/usr/include/c++/9/bits/stl_algo.h:4899:18:   required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::_Rb_tree_const_iterator<int>; _Compare = main()::<lambda(int, int)>]'
fever.cpp:53:10:   required from here
/usr/include/c++