jumps.cpp: In function 'void init(int, std::vector<int>)':
jumps.cpp:42:91: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
42 | if (i + (1 << j) <= n) dp[j][i] = combine(dp[j - 1][i], dp[j - 1][i + (1 << j - 1)]);
| ~~^~~
jumps.cpp:10:34: note: in definition of macro 'combine'
10 | #define combine(x, y) (x == -1 ? y : y == -1 ? x : H[x] > H[y] ? x : y)
| ^
jumps.cpp:42:91: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
42 | if (i + (1 << j) <= n) dp[j][i] = combine(dp[j - 1][i], dp[j - 1][i + (1 << j - 1)]);
| ~~^~~
jumps.cpp:10:38: note: in definition of macro 'combine'
10 | #define combine(x, y) (x == -1 ? y : y == -1 ? x : H[x] > H[y] ? x : y)
| ^
jumps.cpp:42:91: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
42 | if (i + (1 << j) <= n) dp[j][i] = combine(dp[j - 1][i], dp[j - 1][i + (1 << j - 1)]);
| ~~^~~
jumps.cpp:10:61: note: in definition of macro 'combine'
10 | #define combine(x, y) (x == -1 ? y : y == -1 ? x : H[x] > H[y] ? x : y)
| ^
jumps.cpp:42:91: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
42 | if (i + (1 << j) <= n) dp[j][i] = combine(dp[j - 1][i], dp[j - 1][i + (1 << j - 1)]);
| ~~^~~
jumps.cpp:10:70: note: in definition of macro 'combine'
10 | #define combine(x, y) (x == -1 ? y : y == -1 ? x : H[x] > H[y] ? x : y)
| ^
jumps.cpp: In function 'int minimum_jumps(int, int, int, int)':
jumps.cpp:52:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
52 | int mid = l + r >> 1;
| ~~^~~