mousetrap.cpp: In function 'void update(long long int)':
mousetrap.cpp:67:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
67 | for(int i = k; i<f.size(); i+=i&-i) f[i]++;
| ~^~~~~~~~~
mousetrap.cpp: In function 'int main()':
mousetrap.cpp:101:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
101 | if(i<path.size()-1) suff[i]+=suff[i+1]-1;
| ~^~~~~~~~~~~~~~
mousetrap.cpp:4:35: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
4 | #define rep(i,n) for(int i = 0; i < n; i++)
......
105 | rep(i, path.size())
| ~~~~~~~~~~~~~~
mousetrap.cpp:105:5: note: in expansion of macro 'rep'
105 | rep(i, path.size())
| ^~~
mousetrap.cpp:110:40: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
110 | if((i>0&&w==path[i-1]||(i+1<path.size()&&w==path[i+1]))||w==t) continue;
| ~~~^~~~~~~~~~~~
mousetrap.cpp:110:20: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
110 | if((i>0&&w==path[i-1]||(i+1<path.size()&&w==path[i+1]))||w==t) continue;
mousetrap.cpp:4:35: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
4 | #define rep(i,n) for(int i = 0; i < n; i++)
......
126 | rep(i, path.size())
| ~~~~~~~~~~~~~~
mousetrap.cpp:126:9: note: in expansion of macro 'rep'
126 | rep(i, path.size())
| ^~~