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:52:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
52 | 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:71:5: note: in expansion of macro 'FOR'
71 | 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:77:5: note: in expansion of macro 'FOR'
77 | 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:82:5: note: in expansion of macro 'FOR'
82 | FOR(i, 1, q) {
| ^~~
valley.cpp:85:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
85 | 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:96:5: note: in expansion of macro 'FOR'
96 | 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:97:9: note: in expansion of macro 'FOR'
97 | 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:106:5: note: in expansion of macro 'FOR'
106 | FOR(i, 1, q) {
| ^~~
valley.cpp:107:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
107 | 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:120:17: note: in expansion of macro 'FOR'
120 | FOR(i, 0, 19) {
| ^~~
valley.cpp:121:28: warning: '<<' in boolean context, did you mean '<'? [-Wint-in-bool-context]
121 | if ((1 << i) && jump) {
| ~~~^~~~~
valley.cpp:62:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
62 | freopen("hi.inp", "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~