subsequence.c: In function 'init':
subsequence.c:14:22: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
14 | cnt[b] = cnt[b & b - 1] + 1;
| ~~^~~
subsequence.c: In function 'main':
subsequence.c:33:33: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
33 | dp[i] = max(dp[i], dq[aa[i] & ~((1 << L / 2) - 1) | b][c]);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
subsequence.c:36:21: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
36 | for (a = 0; a < 1 << L - L / 2; a++) {
| ^~
subsequence.c:38:28: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
38 | a_ = a << L / 2 | aa[i] & (1 << L / 2) - 1;
| ^
subsequence.c:38:28: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
38 | a_ = a << L / 2 | aa[i] & (1 << L / 2) - 1;
| ~~~~~~^~~~~~~~~~~~~~~~~~
subsequence.c:23:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
23 | scanf("%d", &n);
| ^~~~~~~~~~~~~~~
subsequence.c:25:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
25 | scanf("%d", &aa[i]);
| ^~~~~~~~~~~~~~~~~~~
subsequence.c:27:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
27 | scanf("%d", &cc[i]);
| ^~~~~~~~~~~~~~~~~~~
subsequence.c:44:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
44 | used[j = i_] = 1;
| ~~~~~~~~~~~~~^~~
subsequence.c:19:14: note: at offset -1 to object 'used' with size 100000 declared here
19 | static char used[N];
| ^~~~