dp + rolling array