roads.cpp: In member function 'void Fenwick::add(int, long long int)':
roads.cpp:22:13: warning: statement has no effect [-Wunused-value]
22 | for(idx; idx <= sz; idx += idx&(-idx)){
| ^~~
roads.cpp: In function 'void dfs(int, int, long long int)':
roads.cpp:55:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
55 | for(int i = 0; i < child_w.size(); i++){
| ~~^~~~~~~~~~~~~~~~
roads.cpp:60:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
60 | for(int i = 0; i < g[x].size(); i++){
| ~~^~~~~~~~~~~~~
roads.cpp:62:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
62 | while(ptr < child_d.size() && child_d[ptr].first == i){
| ~~~~^~~~~~~~~~~~~~~~
roads.cpp:69:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
69 | for(int j = ptr; j < child_d.size(); j++)save_cost.push_back(dp[1][child_d[j].second][i] - dp[0][child_d[j].second][i]);
| ~~^~~~~~~~~~~~~~~~
roads.cpp:71:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
71 | for(int j = 0; j <= save_cost.size(); j++){
| ~~^~~~~~~~~~~~~~~~~~~
roads.cpp:79:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
79 | if(j < save_cost.size())sum += save_cost[j];
| ~~^~~~~~~~~~~~~~~~~~
roads.cpp:85:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
85 | for(int i = 0; i < dp[0][v.first].size(); i++)dp[0][x][i] += dp[0][v.first][i];
| ~~^~~~~~~~~~~~~~~~~~~~~~~
roads.cpp:89:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
89 | for(int i = 0; i < g[x].size(); 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:105:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
105 | for(int i = 0; i < dp[0][1].size(); i++){
| ~~^~~~~~~~~~~~~~~~~