catinatree.cpp: In function 'void dfs(int, int)':
catinatree.cpp:12:38: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 | #define fi(i, a, b) for(int i = a; i <= b; i++)
......
   33 |         fi(i, 0, dp[v].size() - 1) {
      |            ~~~~~~~~~~~~~~~~~~~~~~     
catinatree.cpp:33:9: note: in expansion of macro 'fi'
   33 |         fi(i, 0, dp[v].size() - 1) {
      |         ^~
catinatree.cpp:35:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |             int w1 = dp[v][i] + (x < dp[u].size() ? dp[u][x] : 0);
      |                                  ~~^~~~~~~~~~~~~~
catinatree.cpp:36:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |             int w2 = dp[u][i] + (x < dp[v].size() ? dp[v][x] : 0);
      |                                  ~~^~~~~~~~~~~~~~
catinatree.cpp:42:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             if(i + 1 < dp[u].size()) dp[u][i] = max(dp[u][i], dp[u][i + 1]);
      |                ~~~~~~^~~~~~~~~~~~~~
catinatree.cpp: In function 'int main()':
catinatree.cpp:72:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   72 |         freopen(Neco".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
catinatree.cpp:73:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   73 |         freopen(Neco".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~