Balance Array

Revision en5, by Borjianamin, 2019-05-04 20:28:00

Hello.
I have a problem and I don't know how to solve it. if it is possible to give me hint for start or type of algorithm, etc, I will solve it. Thanks.
We have array $$$A$$$ with $$$n$$$ elements: $$$A[1], A[2], A[3], ..., A[n]$$$ ($$$1 \le A[i] \le 10$$$) ($$$1 \le n \le 1000$$$)
A $$$k$$$ is given beside elements of array. ($$$0 \le k \le 10n$$$)
We define $$$risk = 0$$$.
for each $$$i$$$, if $$$A[i - 1] > A[i]$$$, then $$$risk += A[i - 1] - A[i]$$$
for each $$$i$$$, if $$$A[i + 1] > A[i]$$$, then $$$risk += A[i + 1] - A[i]$$$
we want to $$$risk <= k$$$.
we can reduce one or increase one $$$A[i]$$$ at one step. so $$$risk$$$ will be calculated again. What is minimum steps need to achieve $$$risk <= k$$$?
Example:
in:
2 1
1 10
out:
8
in:
3 2
10 1 10
out:
8

Is it possible to help me? Thanks so much.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en5 English Borjianamin 2019-05-04 20:28:00 27
en4 English Borjianamin 2019-05-04 20:27:01 38
en3 English Borjianamin 2019-05-04 20:26:11 42
en2 English Borjianamin 2019-05-04 20:25:17 59
en1 English Borjianamin 2019-05-04 20:24:34 725 Initial revision (published)