circle_selection.cpp:210:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
210 | main()
| ^~~~
In file included from /usr/include/c++/10/map:60,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:81,
from circle_selection.cpp:1:
/usr/include/c++/10/bits/stl_tree.h: In instantiation of 'static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp1; _Alloc = std::allocator<Circle>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<Circle>*]':
/usr/include/c++/10/bits/stl_tree.h:2101:47: required from 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp1; _Alloc = std::allocator<Circle>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = Circle]'
/usr/include/c++/10/bits/stl_tree.h:2154:4: required from 'std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(_Arg&&) [with _Arg = const Circle&; _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp1; _Alloc = std::allocator<Circle>]'
/usr/include/c++/10/bits/stl_set.h:512:25: required from 'std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = Circle; _Compare = subtask2::cmp1; _Alloc = std::allocator<Circle>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<Circle, Circle, std::_Identity<Circle>, subtask2::cmp1, std::allocator<Circle> >::const_iterator; std::set<_Key, _Compare, _Alloc>::value_type = Circle]'
circle_selection.cpp:158:35: required from here
/usr/include/c++/10/bits/stl_tree.h:780:8: error: static assertion failed: comparison object must be invocable as const
780 | is_invocable_v<const _Compare&, const _Key&, const _Key&>,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/stl_tree.h: In instantiation of 'static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp2; _Alloc = std::allocator<Circle>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<Circle>*]':
/usr/include/c++/10/bits/stl_tree.h:2101:47: required from 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp2; _Alloc = std::allocator<Circle>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = Circle]'
/usr/include/c++/10/bits/stl_tree.h:2154:4: required from 'std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(_Arg&&) [with _Arg = const Circle&; _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp2; _Alloc = std::allocator<Circle>]'
/usr/include/c++/10/bits/stl_set.h:512:25: required from 'std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = Circle; _Compare = subtask2::cmp2; _Alloc = std::allocator<Circle>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<Circle, Circle, std::_Identity<Circle>, subtask2::cmp2, std::allocator<Circle> >::const_iterator; std::set<_Key, _Compare, _Alloc>::value_type = Circle]'
circle_selection.cpp:159:35: required from here
/usr/include/c++/10/bits/stl_tree.h:780:8: error: static assertion failed: comparison object must be invocable as const
/usr/include/c++/10/bits/stl_tree.h: In instantiation of 'static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp3; _Alloc = std::allocator<Circle>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<Circle>*]':
/usr/include/c++/10/bits/stl_tree.h:2101:47: required from 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp3; _Alloc = std::allocator<Circle>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = Circle]'
/usr/include/c++/10/bits/stl_tree.h:2154:4: required from 'std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(_Arg&&) [with _Arg = const Circle&; _Key = Circle; _Val = Circle; _KeyOfValue = std::_Identity<Circle>; _Compare = subtask2::cmp3; _Alloc = std::allocator<Circle>]'
/usr/include/c++/10/bits/stl_set.h:512:25: required from 'std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = Circle; _Compare = subtask2::cmp3; _Alloc = std::allocator<Circle>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<Circle, Circle, std::_Identity<Circle>, subtask2::cmp3, std::allocator<Circle> >::const_iterator; std::set<_Key, _Compare, _Alloc>::value_type = Circle]'
circle_selection.cpp:160:35: required from here
/usr/include/c++/10/bits/stl_tree.h:780:8: error: static assertion failed: comparison object must be invocable as const
circle_selection.cpp: In function 'int main()':
circle_selection.cpp:214:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
214 | freopen(TASKNAME".inp","r",stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
circle_selection.cpp:215:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
215 | freopen(TASKNAME".out","w",stdout);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~