subsequence.cpp: In function 'int main()':
subsequence.cpp:23:17: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
23 | dp[a[i] & HM - 1][j][popcnt((a[i] >> 10) & j)] = max(dp[a[i] & HM - 1][j][popcnt((a[i] >> 10) & j)], {best.first, i});
| ~~~^~~
subsequence.cpp:23:70: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
23 | dp[a[i] & HM - 1][j][popcnt((a[i] >> 10) & j)] = max(dp[a[i] & HM - 1][j][popcnt((a[i] >> 10) & j)], {best.first, i});
| ~~~^~~
subsequence.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
12 | scanf("%d", &n);
| ~~~~~^~~~~~~~~~
subsequence.cpp:13:36: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
13 | for (int i = 1; i <= n; i++) scanf("%d", a + i);
| ~~~~~^~~~~~~~~~~~~
subsequence.cpp:15:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
15 | scanf("%d", k + i);
| ~~~~~^~~~~~~~~~~~~