roads.cpp: In function 'void dfs(int, int)':
roads.cpp:32:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
32 | for(int k = 1; k <= f[v].size(); k++) f[u][k] += f[v][k - 1];
| ~~^~~~~~~~~~~~~~
roads.cpp:34:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
34 | for(int k = 1; k <= child.size(); k++) {
| ~~^~~~~~~~~~~~~~~
roads.cpp:36:29: warning: comparison of integer expressions of different signedness: 'std::deque<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
36 | if (f[heavy].size() > k) lst.push_back(f[heavy][k] + w[heavy] - f[heavy][k - 1]);
| ~~~~~~~~~~~~~~~~^~~
roads.cpp:39:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
39 | if (k < f[v].size()) lst.push_back(f[v][k] + w[v] - f[v][k - 1]);
| ~~^~~~~~~~~~~~~
roads.cpp:45:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
45 | for(int i = 0; i < lst.size(); i++) {
| ~~^~~~~~~~~~~~
roads.cpp:47:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
47 | if (i < child.size() - k + 1 || lst[i] < 0) f[u][k] += lst[i];
| ~~^~~~~~~~~~~~~~~~~~~~~~
roads.cpp: In function 'std::vector<long long int> minimum_closure_costs(int, std::vector<int>, std::vector<int>, std::vector<int>)':
roads.cpp:61:24: warning: comparison of integer expressions of different signedness: 'std::deque<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
61 | while (f[0].size() < n) f[0].push_back(0);
| ~~~~~~~~~~~~^~~