### beast_sid's blog

By beast_sid, history, 4 weeks ago,

 » 4 weeks ago, # |   +9 You are exceeding the memory limit. If you look at your submission, you can see that you use more than the memory limit for that problem, which is 512MB.In this case, this is easy to fix: your outer loop is over $i$, and at index $i$, you only access $DP[i]$ and $DP[i-1]$. Thus it is enough to maintain a $2 \times (x+1)$ array $DP'$, where at step $i$ you have $DP'[0] = DP[i - 1]$ and $DP'[1] = DP[i]$. When incrementing $i$ you can set $DP'[0][j] \leftarrow DP'[1][j]$.