city.cpp: In function 'void build_tree()':
city.cpp:30:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
30 | for(int i=0;i<cur.size();i++)g[i].resize(0);
| ~^~~~~~~~~~~
city.cpp:32:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
32 | for(int l=0;l<cur.size();l++){
| ~^~~~~~~~~~~
city.cpp:33:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
33 | while(r<cur.size()&&cur[r].fr<cur[l].fr+1)r++;
| ~^~~~~~~~~~~
city.cpp:34:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
34 | if(r==cur.size())break;
| ~^~~~~~~~~~~~