dreaming.cpp: In function 'std::array<int, 2> dfs(int, int, std::vector<int>&)':
dreaming.cpp:16:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   16 |     for (auto [ne, we] : g[node]) {
      |               ^
dreaming.cpp: In function 'int get_diam(int, int, std::vector<int>&, std::vector<int>&)':
dreaming.cpp:26:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   26 |     for (auto [ne, we] : g[node]) {
      |               ^
dreaming.cpp: In function 'int diameter(int)':
dreaming.cpp:37:10: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   37 |     auto [n1, d1] = dfs(node, -1, dis1);
      |          ^
dreaming.cpp:38:10: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   38 |     auto [n2, d2] = dfs(n1, -1, dis2);
      |          ^
dreaming.cpp:39:10: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   39 |     auto [n3, d3] = dfs(n2, -1, dis2);
      |          ^
dreaming.cpp:39:10: warning: structured binding declaration set but not used [-Wunused-but-set-variable]
   39 |     auto [n3, d3] = dfs(n2, -1, dis2);
      |          ^~~~~~~~