fun.cpp: In function 'std::vector<int> createFunTour(int, int)':
fun.cpp:46:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
46 | for(int j = 0; j < sons.size(); j++){
| ~~^~~~~~~~~~~~~
fun.cpp:47:35: warning: comparison of integer expressions of different signedness: 'std::priority_queue<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
47 | if(subtrees[j].size() * 2 >= N - 1 - i && st == j || (subtrees[j].size() * 2 > N - 1 - i && st != j && tp(subtrees[st]) >= tp(subtrees[3 - st - j]))){
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
fun.cpp:47:86: warning: comparison of integer expressions of different signedness: 'std::priority_queue<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
47 | if(subtrees[j].size() * 2 >= N - 1 - i && st == j || (subtrees[j].size() * 2 > N - 1 - i && st != j && tp(subtrees[st]) >= tp(subtrees[3 - st - j]))){
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
fun.cpp:47:48: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
47 | if(subtrees[j].size() * 2 >= N - 1 - i && st == j || (subtrees[j].size() * 2 > N - 1 - i && st != j && tp(subtrees[st]) >= tp(subtrees[3 - st - j]))){
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
fun.cpp:54:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
54 | for(int j = 0; j < sons.size(); j++){
| ~~^~~~~~~~~~~~~