rect.cpp: In function 'long long int count_rectangles(std::vector<std::vector<int> >)':
rect.cpp:46: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]
46 | for (int j=0; j<V.size(); ++j) {
| ~^~~~~~~~~
rect.cpp:48: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]
48 | if (j != V.size()-1 && V[j][0] == V[j+1][0]) continue;
| ~~^~~~~~~~~~~~~
rect.cpp:69:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
69 | for (auto [u, v] : A[i-1][j]) {
| ^
rect.cpp:70: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]
70 | while (k < A[i][j].size()-1 && A[i][j][k][0] < u) ++k;
| ~~^~~~~~~~~~~~~~~~~~
rect.cpp:86: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]
86 | for (int i=0; i<V.size(); ++i) {
| ~^~~~~~~~~
rect.cpp:88: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]
88 | if (i != V.size()-1 && V[i][0] == V[i+1][0]) continue;
| ~~^~~~~~~~~~~~~
rect.cpp:109:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
109 | for (auto [u, v] : B[i][j-1]) {
| ^
rect.cpp:110: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]
110 | while (k < B[i][j].size()-1 && B[i][j][k][1] < v) ++k;
| ~~^~~~~~~~~~~~~~~~~~
rect.cpp:120: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]
120 | while (l < A[i][j].size() && r < B[i][j].size()) {
| ~~^~~~~~~~~~~~~~~~
rect.cpp:120: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]
120 | while (l < A[i][j].size() && r < B[i][j].size()) {
| ~~^~~~~~~~~~~~~~~~
rect.cpp:136: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]
136 | while (l < A[i][j].size()) {
| ~~^~~~~~~~~~~~~~~~