valley.cpp: In function 'void solve()':
valley.cpp:41:12: error: missing template arguments before 'lift'
41 | vector lift(LOG, vector(n, 0));
| ^~~~
valley.cpp:42:12: error: missing template arguments before 'data'
42 | vector data(LOG, vector(n, 0ll));
| ^~~~
valley.cpp:44:34: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
44 | auto dfs = [&](int u, int p, auto&& dfs) -> void {
| ^~~~
valley.cpp: In lambda function:
valley.cpp:45:22: error: 'lift' was not declared in this scope
45 | if (p != -1) lift[0][u] = p;
| ^~~~
valley.cpp:47:13: error: 'lift' was not declared in this scope
47 | lift[i][u] = lift[i - 1][lift[i - 1][u]];
| ^~~~
valley.cpp:49:19: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
49 | for (auto [v, w] : adj[u]) if (v != p) {
| ^
valley.cpp:52:26: error: expression cannot be used as a function
52 | dfs(v, u, dfs);
| ^
valley.cpp: In function 'void solve()':
valley.cpp:55:22: error: no match for call to '(solve()::<lambda(int, int, int&&)>) (int, int, solve()::<lambda(int, int, int&&)>&)'
55 | }; dfs(0, -1, dfs);
| ^
valley.cpp:44:16: note: candidate: 'solve()::<lambda(int, int, int&&)>'
44 | auto dfs = [&](int u, int p, auto&& dfs) -> void {
| ^
valley.cpp:44:16: note: no known conversion for argument 3 from 'solve()::<lambda(int, int, int&&)>' to 'int&&'
valley.cpp:56:35: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
56 | auto dfs2 = [&](int u, int p, auto&& dfs2) -> void {
| ^~~~
valley.cpp: In lambda function:
valley.cpp:57:19: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
57 | for (auto [v, w] : adj[u]) if (v != p) {
| ^
valley.cpp:58:13: error: 'data' was not declared in this scope
58 | data[0][v] = dp[u] - dist[u];
| ^~~~
valley.cpp:60:62: error: 'lift' was not declared in this scope
60 | data[i][v] = min(data[i - 1][v], data[i - 1][lift[i - 1][v]]);
| ^~~~
valley.cpp:62:28: error: expression cannot be used as a function
62 | dfs2(v, u, dfs2);
| ^
valley.cpp: In function 'void solve()':
valley.cpp:64:24: error: no match for call to '(solve()::<lambda(int, int, int&&)>) (int, int, solve()::<lambda(int, int, int&&)>&)'
64 | }; dfs2(0, -1, dfs2);
| ^
valley.cpp:56:17: note: candidate: 'solve()::<lambda(int, int, int&&)>'
56 | auto dfs2 = [&](int u, int p, auto&& dfs2) -> void {
| ^
valley.cpp:56:17: note: no known conversion for argument 3 from 'solve()::<lambda(int, int, int&&)>' to 'int&&'
valley.cpp:65:16: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
65 | for (auto &[u, v, w] : edges) {
| ^
valley.cpp: In lambda function:
valley.cpp:71:36: error: 'lift' was not declared in this scope
71 | if (dx >> i & 1) ptr = lift[i][ptr];
| ^~~~
valley.cpp:78:31: error: 'data' was not declared in this scope
78 | smin(res, data[i][ptr]);
| ^~~~
valley.cpp:79:27: error: 'lift' was not declared in this scope
79 | ptr = lift[i][ptr];
| ^~~~