# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1227849 | PlayVoltz | Divide and conquer (IZhO14_divide) | C++20 | Compilation error | 0 ms | 0 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
struct trio{
int x, g, e;
};
int ans=0;
vector<trio> vect;
void dnc(int l, int r){
if (l>r)return;
int mid=(l+r)/2, mx=0;
vector<pii> left, right;
for (int i=mid+1, sume=0, sumg=0; i<=r; ++i)sume+=vect[i].e, sumg+=vect[i].g, right.pb(mp(sume-vect[i].x+vect[mid].x, sumg));
for (int i=mid-1, sume=0, sumg=0; i>=l; --i)sume+=vect[i].e, sumg+=vect[i].g, left.pb(mp(sume+vect[i].x-vect[mid].x, sumg));
for (auto a:right)if (vect[mid].e+a.fi>=0)mx=max(mx, a.se);
for (int i=0; i<left.size(); ++i)for (int j=0; j<right.size(); ++j)if (vect[mid].e+left[i].fi+right[j].fi>=0)mx=max(mx, left[i].g+right[j].g);
ans=max(ans, vect[mid].g+mx);
if (l==r)return;
dnc(l, mid-1);
dnc(mid+1, r);
}
int32_t main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
vect.resize(n);
for (int i=0; i<n; ++i)cin>>vect[i].x>>vect[i].g>>vect[i].e;
sort(vect.begin(), vect.end());
dnc(0, n-1);
cout<<ans;
}
Compilation message (stderr)
divide.cpp: In function 'void dnc(long long int, long long int)': divide.cpp:48:137: error: '__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 'struct std::pair<long long int, long long int>'} has no member named 'g' 48 | for (int i=0; i<left.size(); ++i)for (int j=0; j<right.size(); ++j)if (vect[mid].e+left[i].fi+right[j].fi>=0)mx=max(mx, left[i].g+right[j].g); | ^ divide.cpp:48:148: error: '__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 'struct std::pair<long long int, long long int>'} has no member named 'g' 48 | for (int i=0; i<left.size(); ++i)for (int j=0; j<right.size(); ++j)if (vect[mid].e+left[i].fi+right[j].fi>=0)mx=max(mx, left[i].g+right[j].g); | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Iterator2 = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >]': /usr/include/c++/11/bits/stl_algo.h:1884:17: required from 'constexpr _RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1906:40: required from 'constexpr _RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1938:38: required from 'constexpr void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1954:25: required from 'constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:4842:18: required from 'constexpr void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >]' divide.cpp:63:6: required from here /usr/include/c++/11/bits/predefined_ops.h:45:23: error: no match for 'operator<' (operand types are 'trio' and 'trio') 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ 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 divide.cpp:4: /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/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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ 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 divide.cpp:4: /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/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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const std::reverse_iterator<_IteratorL>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const std::move_iterator<_IteratorL>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ In file included from /usr/include/c++/11/stack:61, from divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const std::stack<_Tp, _Seq>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ In file included from /usr/include/c++/11/queue:64, from divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const std::queue<_Tp, _Seq>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:45:23: note: 'trio' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ /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 = trio; _Iterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >]': /usr/include/c++/11/bits/stl_algo.h:1806:20: required from 'constexpr void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Val_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1834:36: required from 'constexpr void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1866:25: required from 'constexpr void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1957:31: required from 'constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:4842:18: required from 'constexpr void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >]' divide.cpp:63:6: required from here /usr/include/c++/11/bits/predefined_ops.h:98:22: error: no match for 'operator<' (operand types are 'trio' and 'trio') 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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 divide.cpp:4: /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/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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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 divide.cpp:4: /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/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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' 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/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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' is not derived from 'const std::move_iterator<_IteratorL>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/stack:61, from divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' is not derived from 'const std::stack<_Tp, _Seq>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/queue:64, from divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' is not derived from 'const std::queue<_Tp, _Seq>' 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:98:22: note: 'trio' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ /usr/include/c++/11/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_less_val::operator()(_Iterator, _Value&) const [with _Iterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Value = trio]': /usr/include/c++/11/bits/stl_heap.h:139:48: required from 'constexpr void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Distance = long int; _Tp = trio; _Compare = __gnu_cxx::__ops::_Iter_less_val]' /usr/include/c++/11/bits/stl_heap.h:246:23: required from 'constexpr void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Distance = long int; _Tp = trio; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_heap.h:355:22: required from 'constexpr void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1646:23: required from 'constexpr void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1917:25: required from 'constexpr void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1933:27: required from 'constexpr void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:1954:25: required from 'constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/11/bits/stl_algo.h:4842:18: required from 'constexpr void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<trio*, std::vector<trio> >]' divide.cpp:63:6: required from here /usr/include/c++/11/bits/predefined_ops.h:69:22: error: no match for 'operator<' (operand types are 'trio' and 'trio') 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ 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 divide.cpp:4: /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/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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ 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 divide.cpp:4: /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/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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const std::reverse_iterator<_IteratorL>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const std::move_iterator<_IteratorL>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/stack:61, from divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const std::stack<_Tp, _Seq>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ In file included from /usr/include/c++/11/queue:64, from divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const std::queue<_Tp, _Seq>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ 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 divide.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: In file included from /usr/include/c++/11/bits/stl_algobase.h:71, 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 divide.cpp:4: /usr/include/c++/11/bits/predefined_ops.h:69:22: note: 'trio' is not derived from 'const std::unique_ptr<_Tp, _Dp>' 69 | { return *__it < __val; } | ~~~~~~^~~~~~~