valley.cpp: In function 'void dfs(long long int, long long int, long long int, long long int)':
valley.cpp:43:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
43 | for (auto[u, w] : adj[v]) {
| ^
valley.cpp:53:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
53 | for (auto[u, id] : query_lcas[v]) {
| ^
valley.cpp: In function 'int32_t main()':
valley.cpp:18:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
18 | #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++)
| ^
valley.cpp:72:5: note: in expansion of macro 'FOR'
72 | FOR(i, 1, n - 1) {
| ^~~
valley.cpp:18:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
18 | #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++)
| ^
valley.cpp:78:5: note: in expansion of macro 'FOR'
78 | FOR(i, 1, s) {
| ^~~
valley.cpp:18:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
18 | #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++)
| ^
valley.cpp:83:5: note: in expansion of macro 'FOR'
83 | FOR(i, 1, q) {
| ^~~
valley.cpp:86:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
86 | auto[a, b] = edges[Q[i].f - 1];
| ^
valley.cpp:18:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
18 | #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++)
| ^
valley.cpp:97:5: note: in expansion of macro 'FOR'
97 | FOR(i, 1, 19) {
| ^~~
valley.cpp:18:31: warning: unnecessary parentheses in declaration of 'v' [-Wparentheses]
18 | #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++)
| ^
valley.cpp:98:9: note: in expansion of macro 'FOR'
98 | FOR(v, 1, n) {
| ^~~
valley.cpp:18:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
18 | #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++)
| ^
valley.cpp:107:5: note: in expansion of macro 'FOR'
107 | FOR(i, 1, q) {
| ^~~
valley.cpp:108:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
108 | auto[a, b] = edges[Q[i].f - 1];
| ^
valley.cpp:18:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
18 | #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++)
| ^
valley.cpp:121:17: note: in expansion of macro 'FOR'
121 | FOR(i, 0, 19) {
| ^~~
valley.cpp:122:28: warning: '<<' in boolean context, did you mean '<'? [-Wint-in-bool-context]
122 | if ((1 << i) && jump) {
| ~~~^~~~~
valley.cpp:63:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
63 | freopen("hi.inp", "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~