| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1346718 | jump | 별자리 3 (JOI20_constellation3) | C++20 | 컴파일 에러 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#define int long long
int n,m;
int unsum=0;
int height[200010];
int left[200010];
int right[200010];
int parent[200010];
std::set<std::pair<int,int>> dp[200010];
int constant[200010];
std::vector<std::pair<int,int>> star[200010];
void dfs(int curr){
if(left[curr]!=0)
dfs(left[curr]);
if(right[curr]!=0)
dfs(right[curr]);
int lv=0,rv=0;
for(auto itr=dp[left[curr]].begin();itr!=dp[left[curr]].end();){
if(itr->first<=height[curr]){
lv=std::max(itr.second,lv);
auto del = itr++;
dp[left[curr]].erase(del);
}
}
for(auto itr=dp[right[curr]].begin();itr!=dp[right[curr]].end();){
if(itr->first<=height[curr]){
rv=std::max(itr->second,rv);
auto del = itr++;
dp[right[curr]].erase(del);
}
}
lv+=constant[left];
rv+=constant[right];
if(dp[left].size()>dp[right].size()){
dp[curr]=std::move(dp[left]);
constant[curr]=constant[left]+rv;
for(auto [h,v]:dp[right].size()){
dp[curr].insert({h,v+constant[right]-constant[left]+lv});
}
for(auto [h,v]:star[curr]){
dp[curr].insert({h+i})
}
}
}
signed main() {
std::cin >> n;
std::stack<int> st;
for(int i=1;i<=n;i++){
int last=0;
std::cin>>height[i];
if(st.empty()){
st.push(i);
continue;
}
while(!st.empty()&&height[st.top()]<=height[i]){
last=st.top();
st.pop();
}
if(!st.empty()&&height[st.top()]>height[i]){
right[st.top()]=i;
parent[i]=st.top();
}
if(last){
left[i]=last;
parent[last]=i;
}
st.push(i);
}
std::cin >> m;
for(int i=1;i<=m;i++){
int x,y,c;
std::cin >> x >> y >> c;
unsum+=c;
star[x].push_back({y,c});
}
int root = findroot();
}
컴파일 시 표준 에러 (stderr) 메시지
constellation3.cpp: In function 'void dfs(long long int)':
constellation3.cpp:20:41: error: 'struct std::_Rb_tree_const_iterator<std::pair<long long int, long long int> >' has no member named 'second'
20 | lv=std::max(itr.second,lv);
| ^~~~~~
constellation3.cpp:32:21: error: invalid types 'long long int [200010][long long int [200010]]' for array subscript
32 | lv+=constant[left];
| ^
constellation3.cpp:33:21: error: invalid types 'long long int [200010][long long int [200010]]' for array subscript
33 | rv+=constant[right];
| ^
constellation3.cpp:34:14: error: invalid types 'std::set<std::pair<long long int, long long int> > [200010][long long int [200010]]' for array subscript
34 | if(dp[left].size()>dp[right].size()){
| ^
constellation3.cpp:34:30: error: invalid types 'std::set<std::pair<long long int, long long int> > [200010][long long int [200010]]' for array subscript
34 | if(dp[left].size()>dp[right].size()){
| ^
constellation3.cpp:35:38: error: invalid types 'std::set<std::pair<long long int, long long int> > [200010][long long int [200010]]' for array subscript
35 | dp[curr]=std::move(dp[left]);
| ^
constellation3.cpp:36:40: error: invalid types 'long long int [200010][long long int [200010]]' for array subscript
36 | constant[curr]=constant[left]+rv;
| ^
constellation3.cpp:37:34: error: invalid types 'std::set<std::pair<long long int, long long int> > [200010][long long int [200010]]' for array subscript
37 | for(auto [h,v]:dp[right].size()){
| ^
constellation3.cpp:38:54: error: invalid types 'long long int [200010][long long int [200010]]' for array subscript
38 | dp[curr].insert({h,v+constant[right]-constant[left]+lv});
| ^
constellation3.cpp:38:70: error: invalid types 'long long int [200010][long long int [200010]]' for array subscript
38 | dp[curr].insert({h,v+constant[right]-constant[left]+lv});
| ^
constellation3.cpp:38:40: error: no matching function for call to 'std::set<std::pair<long long int, long long int> >::insert(<brace-enclosed initializer list>)'
38 | dp[curr].insert({h,v+constant[right]-constant[left]+lv});
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/set:63,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:158,
from constellation3.cpp:1:
/usr/include/c++/13/bits/stl_set.h:568:9: note: candidate: 'template<class _InputIterator> void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >]'
568 | insert(_InputIterator __first, _InputIterator __last)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:568:9: note: template argument deduction/substitution failed:
constellation3.cpp:38:40: note: candidate expects 2 arguments, 1 provided
38 | dp[curr].insert({h,v+constant[right]-constant[left]+lv});
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_set.h:511:7: note: candidate: '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 = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other = std::allocator<std::pair<long long int, long long int> >; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::rebind<std::pair<long long int, long long int> >; typename _Alloc::value_type = std::pair<long long int, long long int>; value_type = std::pair<long long int, long long int>]'
511 | insert(const value_type& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:511:32: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::set<std::pair<long long int, long long int> >::value_type&' {aka 'const std::pair<long long int, long long int>&'}
511 | insert(const value_type& __x)
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_set.h:520:7: note: candidate: '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(value_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other = std::allocator<std::pair<long long int, long long int> >; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::rebind<std::pair<long long int, long long int> >; typename _Alloc::value_type = std::pair<long long int, long long int>; value_type = std::pair<long long int, long long int>]'
520 | insert(value_type&& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:520:27: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::set<std::pair<long long int, long long int> >::value_type&&' {aka 'std::pair<long long int, long long int>&&'}
520 | insert(value_type&& __x)
| ~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_set.h:548:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(const_iterator, const value_type&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; value_type = std::pair<long long int, long long int>]'
548 | insert(const_iterator __position, const value_type& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:548:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/13/bits/stl_set.h:553:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(const_iterator, value_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; value_type = std::pair<long long int, long long int>]'
553 | insert(const_iterator __position, value_type&& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:553:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/13/bits/stl_set.h:580:7: note: candidate: 'void std::set<_Key, _Compare, _Alloc>::insert(std::initializer_list<_Tp>) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >]'
580 | insert(initializer_list<value_type> __l)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:580:43: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::initializer_list<std::pair<long long int, long long int> >'
580 | insert(initializer_list<value_type> __l)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_set.h:600:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::insert_return_type std::set<_Key, _Compare, _Alloc>::insert(node_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; insert_return_type = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::insert_return_type; node_type = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::node_type]'
600 | insert(node_type&& __nh)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:600:26: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::set<std::pair<long long int, long long int> >::node_type&&' {aka 'std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::node_type&&'}
600 | insert(node_type&& __nh)
| ~~~~~~~~~~~~^~~~
/usr/include/c++/13/bits/stl_set.h:605:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(const_iterator, node_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; node_type = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::node_type]'
605 | insert(const_iterator __hint, node_type&& __nh)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:605:7: note: candidate expects 2 arguments, 1 provided
constellation3.cpp:41:44: error: 'i' was not declared in this scope
41 | dp[curr].insert({h+i})
| ^
constellation3.cpp:41:40: error: no matching function for call to 'std::set<std::pair<long long int, long long int> >::insert(<brace-enclosed initializer list>)'
41 | dp[curr].insert({h+i})
| ~~~~~~~~~~~~~~~^~~~~~~
/usr/include/c++/13/bits/stl_set.h:568:9: note: candidate: 'template<class _InputIterator> void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >]'
568 | insert(_InputIterator __first, _InputIterator __last)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:568:9: note: template argument deduction/substitution failed:
constellation3.cpp:41:40: note: candidate expects 2 arguments, 1 provided
41 | dp[curr].insert({h+i})
| ~~~~~~~~~~~~~~~^~~~~~~
/usr/include/c++/13/bits/stl_set.h:511:7: note: candidate: '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 = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other = std::allocator<std::pair<long long int, long long int> >; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::rebind<std::pair<long long int, long long int> >; typename _Alloc::value_type = std::pair<long long int, long long int>; value_type = std::pair<long long int, long long int>]'
511 | insert(const value_type& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:511:32: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::set<std::pair<long long int, long long int> >::value_type&' {aka 'const std::pair<long long int, long long int>&'}
511 | insert(const value_type& __x)
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_set.h:520:7: note: candidate: '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(value_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other = std::allocator<std::pair<long long int, long long int> >; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::rebind<std::pair<long long int, long long int> >; typename _Alloc::value_type = std::pair<long long int, long long int>; value_type = std::pair<long long int, long long int>]'
520 | insert(value_type&& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:520:27: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::set<std::pair<long long int, long long int> >::value_type&&' {aka 'std::pair<long long int, long long int>&&'}
520 | insert(value_type&& __x)
| ~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_set.h:548:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(const_iterator, const value_type&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; value_type = std::pair<long long int, long long int>]'
548 | insert(const_iterator __position, const value_type& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:548:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/13/bits/stl_set.h:553:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(const_iterator, value_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; value_type = std::pair<long long int, long long int>]'
553 | insert(const_iterator __position, value_type&& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:553:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/13/bits/stl_set.h:580:7: note: candidate: 'void std::set<_Key, _Compare, _Alloc>::insert(std::initializer_list<_Tp>) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >]'
580 | insert(initializer_list<value_type> __l)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:580:43: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::initializer_list<std::pair<long long int, long long int> >'
580 | insert(initializer_list<value_type> __l)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_set.h:600:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::insert_return_type std::set<_Key, _Compare, _Alloc>::insert(node_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; insert_return_type = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::insert_return_type; node_type = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::node_type]'
600 | insert(node_type&& __nh)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:600:26: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::set<std::pair<long long int, long long int> >::node_type&&' {aka 'std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::node_type&&'}
600 | insert(node_type&& __nh)
| ~~~~~~~~~~~~^~~~
/usr/include/c++/13/bits/stl_set.h:605:7: note: candidate: 'std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(const_iterator, node_type&&) [with _Key = std::pair<long long int, long long int>; _Compare = std::less<std::pair<long long int, long long int> >; _Alloc = std::allocator<std::pair<long long int, long long int> >; iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; const_iterator = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::const_iterator; node_type = std::_Rb_tree<std::pair<long long int, long long int>, std::pair<long long int, long long int>, std::_Identity<std::pair<long long int, long long int> >, std::less<std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, long long int> > >::node_type]'
605 | insert(const_iterator __hint, node_type&& __nh)
| ^~~~~~
/usr/include/c++/13/bits/stl_set.h:605:7: note: candidate expects 2 arguments, 1 provided
constellation3.cpp: In function 'int main()':
constellation3.cpp:76:20: error: 'findroot' was not declared in this scope
76 | int root = findroot();
| ^~~~~~~~