klasika.cpp: In member function 'void trie::add(int, int)':
klasika.cpp:30:27: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
30 | int bit = (val >> j - 1 & 1);
| ~~^~~
klasika.cpp:32:25: warning: comparison of integer expressions of different signedness: 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
32 | while (nwt.size() <= g) nwt.push_back(vector<int>(2));
| ~~~~~~~~~~~^~~~
klasika.cpp:37:23: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
37 | while (t.size() <= it) t.push_back(N);
| ~~~~~~~~~^~~~~
klasika.cpp: In member function 'int trie::get(int, int)':
klasika.cpp:45:25: warning: comparison of integer expressions of different signedness: 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
45 | while (nwt.size() <= g) nwt.push_back(vector<int>(2));
| ~~~~~~~~~~~^~~~
klasika.cpp:46:23: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
46 | while (t.size() <= it) t.push_back(N);
| ~~~~~~~~~^~~~~
klasika.cpp:47:27: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
47 | int bit = (val >> j - 1 & 1);
| ~~^~~
klasika.cpp:49:24: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
49 | ret |= (1 << j - 1);
| ~~^~~
klasika.cpp: In function 'void dfs(int, int)':
klasika.cpp:78:20: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
78 | for (const auto& [v, w] : ad[u]) {
| ^
klasika.cpp:84:20: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
84 | for (const auto& [v, w] : ad[u]) {
| ^
klasika.cpp:90:20: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
90 | for (const auto& [a, time] : Q[u]) answer[time] = node[u].get(d[a], time);
| ^