split.cpp: In function 'void root_tree(std::vector<std::vector<int> >&, int, std::vector<int>&)':
split.cpp:8:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
8 | for (int i = 0; i < adjacent[current].size(); i++){
| ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
split.cpp: In function 'void calc_subtree_sizes(std::vector<std::vector<int> >&, int, std::vector<int>&, std::vector<int>&)':
split.cpp:19:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
19 | for (int i = 0; i < adjacent[current].size(); i++){
| ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:47:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
47 | for (int i = 0; i < p.size(); i++){
| ~~^~~~~~~~~~
split.cpp:68:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
68 | for (int j = 0; j < adjacent[i].size(); j++){
| ~~^~~~~~~~~~~~~~~~~~~~
split.cpp:73:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
73 | for (int k = 0; k < i_subtree_sizes.size(); k++){
| ~~^~~~~~~~~~~~~~~~~~~~~~~~
split.cpp:91:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
91 | for (int j = 0; j < adjacent[current].size(); j++){
| ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
split.cpp:93:43: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
93 | if (res[next] = sets[2].second && b_size < b){
split.cpp:112:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
112 | for (int j = 0; j < adjacent[current].size(); j++){
| ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
split.cpp:114:43: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
114 | if (res[next] = sets[2].second && a_size < a){
split.cpp:33:26: warning: control reaches end of non-void function [-Wreturn-type]
33 | vector<pair<int, int> > sets;
| ^~~~