/in/foo.cc: In constructor 'node::node(int, int, int, long long int)':
/in/foo.cc:85:15: warning: 'node::w' will be initialized after [-Wreorder]
int to, rev, w;
^
/in/foo.cc:85:10: warning: 'int node::rev' [-Wreorder]
int to, rev, w;
^~~
/in/foo.cc:87:2: warning: when initialized here [-Wreorder]
node(int to = 0, int w = 0, int rev = 0, long long c = 0)
^~~~
/in/foo.cc: In function 'bool spfa_slf(int, int)':
/in/foo.cc:122:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int p = 0; p < edge[cur].size(); ++p) {
~~^~~~~~~~~~~~~~~~~~
/in/foo.cc:137:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int p = 0; p < edge[i].size(); ++p) {
~~^~~~~~~~~~~~~~~~
/in/foo.cc: In function 'int dfs(int, int, int)':
/in/foo.cc:150:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int p = 0; p < edge[cur].size(); ++p) {
~~^~~~~~~~~~~~~~~~~~
/in/foo.cc: In instantiation of 'void R(T&) [with T = int]':
/in/foo.cc:100:5: required from here
/in/foo.cc:35:17: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
x = ((x << 2) + x << 1) + (c ^ '0');
~~~~~~~~~^~~