Masalaning shartga ko'ra, olmaxon 1-ustundan boshlab \(n\)-ustungacha yetib borishi uchun dinamik dasturlash (Dynamic Programming) usulidan foydalanamiz.
Har bir \(i\)-ustungacha yetib borish uchun sarflanadigan minimal enirgiyani \(dp[i]\) deb belgilaymiz. Olmaxon \(i\)-ustunga faqat ikkita yo'l bilan kelishi mumkin:
Shunga ko'ra o'tish formulasi (rekurrent tenglama) quyidagicha bo'ladi:
\(dp[i]\) = min(\(dp[i-1] + \vert{}a_{i} - a_{i-1}\vert{}\), \(\ dp[i-2] + 3 \cdot \vert{}a_{i} - a_{i-2}\vert{}\))
Boshlang'ich qiymatlar:
Natijada \(dp[n]\) biz izlagan minimal enirgiyani beradi. Vaqt va xotira murakkabligi \(O(n)\).