mouse.cpp: In function 'void random_shuffle(std::vector<int>&)':
mouse.cpp:28:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
28 | for(int i = 0; i < v.size(); i++) swap(v[i], v[rng() % (i + 1)]);
| ~~^~~~~~~~~~
mouse.cpp: In function 'void solve(int)':
mouse.cpp:79:13: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
79 | while(s = query(q) != 1){
| ~~^~~~~~~~~~~~~~~
mouse.cpp:89:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
89 | for(int i = 1; i < x.size(); i++) swap(x[i].second, x[rng() % i + 1].second);
| ~~^~~~~~~~~~
mouse.cpp:90:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
90 | for(int i = 0; i < x.size(); i++) q[x[i].first] = x[i].second;
| ~~^~~~~~~~~~
mouse.cpp:110:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
110 | for(int i = 0; i < sz; i++) q[x[i].first] = x[i].second; for(auto i : to_erase) x.erase(x.begin() + i);
| ^~~
mouse.cpp:110:66: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
110 | for(int i = 0; i < sz; i++) q[x[i].first] = x[i].second; for(auto i : to_erase) x.erase(x.begin() + i);
| ^~~
mouse.cpp:113:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
113 | for(int i = 0; i < x.size(); i++) q[x[i].first] = x[i].second;
| ~~^~~~~~~~~~
/usr/bin/ld: /tmp/cczqOmCe.o: in function `binary_search(std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >&, std::vector<int, std::allocator<int> >&, int, int, int, int, int)':
mouse.cpp:(.text+0x4ac): undefined reference to `query(std::vector<int, std::allocator<int> >&)'
/usr/bin/ld: /tmp/cczqOmCe.o: in function `solve(int)':
mouse.cpp:(.text+0x6d3): undefined reference to `query(std::vector<int, std::allocator<int> >&)'
/usr/bin/ld: mouse.cpp:(.text+0x7b8): undefined reference to `query(std::vector<int, std::allocator<int> >&)'
/usr/bin/ld: mouse.cpp:(.text+0x903): undefined reference to `query(std::vector<int, std::allocator<int> >&)'
/usr/bin/ld: mouse.cpp:(.text+0x97c): undefined reference to `query(std::vector<int, std::allocator<int> >&)'
/usr/bin/ld: /tmp/cczqOmCe.o:mouse.cpp:(.text+0xa4e): more undefined references to `query(std::vector<int, std::allocator<int> >&)' follow
collect2: error: ld returned 1 exit status