toll.cpp: In function 'void sol()':
toll.cpp:34:55: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
34 | ckmin(dp[i][j][a][b], dp[i][j - 1][a][c] + dp[i + 1 << (j - 1)][j - 1][c][b]);
| ~~^~~
toll.cpp:26:77: warning: iteration 5 invokes undefined behavior [-Waggressive-loop-optimizations]
26 | forn(i, 0, n/k) forn(j, 0, 16) forn(k, 0, 5) forn(l, 0, 5) dp[i][j][k][l] = inf;
| ~~~~~~~~~~~~~~~^~~~~
toll.cpp:2:43: note: within this loop
2 | #define forn(i, a, b) for (int i = (a); i <= (int)(b); ++i)
| ^
toll.cpp:26:48: note: in expansion of macro 'forn'
26 | forn(i, 0, n/k) forn(j, 0, 16) forn(k, 0, 5) forn(l, 0, 5) dp[i][j][k][l] = inf;
| ^~~~
toll.cpp:26:77: warning: iteration 5 invokes undefined behavior [-Waggressive-loop-optimizations]
26 | forn(i, 0, n/k) forn(j, 0, 16) forn(k, 0, 5) forn(l, 0, 5) dp[i][j][k][l] = inf;
| ~~~~~~~~~~~~~~~^~~~~
toll.cpp:2:43: note: within this loop
2 | #define forn(i, a, b) for (int i = (a); i <= (int)(b); ++i)
| ^
toll.cpp:26:34: note: in expansion of macro 'forn'
26 | forn(i, 0, n/k) forn(j, 0, 16) forn(k, 0, 5) forn(l, 0, 5) dp[i][j][k][l] = inf;
| ^~~~
toll.cpp:26:75: warning: array subscript 5 is above array bounds of 'int [5]' [-Warray-bounds]
26 | forn(i, 0, n/k) forn(j, 0, 16) forn(k, 0, 5) forn(l, 0, 5) dp[i][j][k][l] = inf;
| ~~~~~~~~~~~~~^