valley.cpp: In function 'void dfs(long long int, long long int, long long int, long long int)':
valley.cpp:44:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
44 | for (auto[u, w] : adj[v]) {
| ^
valley.cpp:55:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
55 | 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:74:5: note: in expansion of macro 'FOR'
74 | 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:80:5: note: in expansion of macro 'FOR'
80 | 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:85:5: note: in expansion of macro 'FOR'
85 | FOR(i, 1, q) {
| ^~~
valley.cpp:88:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
88 | 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:99:5: note: in expansion of macro 'FOR'
99 | 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:100:9: note: in expansion of macro 'FOR'
100 | 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:110:5: note: in expansion of macro 'FOR'
110 | FOR(i, 1, q) {
| ^~~
valley.cpp:111:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
111 | 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:124:17: note: in expansion of macro 'FOR'
124 | FOR(i, 0, 19) {
| ^~~
valley.cpp:125:28: warning: '<<' in boolean context, did you mean '<'? [-Wint-in-bool-context]
125 | if ((1 << i) && jump) {
| ~~~^~~~~
valley.cpp:65:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
65 | freopen("hi.inp", "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~