werewolf.cpp: In function 'void dfs1(int, bool)':
werewolf.cpp:15:23: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
15 | if (human && u >= l || !human && u <= r) { // werewolf condition
| ~~~~~~^~~~~~~~~
werewolf.cpp: In function 'void dfs2(int, bool)':
werewolf.cpp:26:23: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
26 | if (human && u >= l || !human && u <= r) { // werewolf condition
| ~~~~~~^~~~~~~~~
werewolf.cpp: In function 'int solve(int, int)':
werewolf.cpp:38:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
38 | for (int i = 0; i < vis1.size(); ++i){
| ~~^~~~~~~~~~~~~
werewolf.cpp: In function 'std::vector<int> check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
werewolf.cpp:45:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
45 | for (int i = 0; i < X.size(); i++) {
| ~~^~~~~~~~~~