rect.cpp: In function 'long long int count_rectangles(std::vector<std::vector<int> >)':
rect.cpp:47:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
47 | for (int j=0; j<V.size(); ++j) {
| ~^~~~~~~~~
rect.cpp:49:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
49 | if (j != V.size()-1 && V[j][0] == V[j+1][0]) continue;
| ~~^~~~~~~~~~~~~
rect.cpp:70:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
70 | for (auto [u, v] : A[i-1][j]) {
| ^
rect.cpp:71:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
71 | while (k < A[i][j].size()-1 && A[i][j][k][0] < u) ++k;
| ~~^~~~~~~~~~~~~~~~~~
rect.cpp:88:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
88 | for (int i=0; i<V.size(); ++i) {
| ~^~~~~~~~~
rect.cpp:90:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
90 | if (i != V.size()-1 && V[i][0] == V[i+1][0]) continue;
| ~~^~~~~~~~~~~~~
rect.cpp:114:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
114 | for (auto [u, v] : B[i][j-1]) {
| ^
rect.cpp:120:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
120 | for (auto [u, v] : B[i][j]) {
| ^
rect.cpp:112:9: warning: unused variable 'k' [-Wunused-variable]
112 | int k = 0;
| ^
rect.cpp:134:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
134 | while (l < A[i][j].size() && r < B[i][j].size()) {
| ~~^~~~~~~~~~~~~~~~
rect.cpp:134:35: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
134 | while (l < A[i][j].size() && r < B[i][j].size()) {
| ~~^~~~~~~~~~~~~~~~
rect.cpp:144:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
144 | while (l < A[i][j].size()) {
| ~~^~~~~~~~~~~~~~~~