Problem · Dynamic Programming

Minimum Energy Cost

MediumAmazonOA
See Amazon hiring insights

Janet has N bags in a row. Each bag has a weight (Wi). Janet can collect bags from either the leftmost or rightmost position, but there are energy costs:

  • The cost of collecting a bag is the bag's weight (Wi) multiplied by X (if collecting from the left) or Y (if collecting from the right).
  • If you are collecting a bag consecutively from the same side twice in a row, then there is an additional cost of El (if collected from the left side consecutively) or Er (if collected from the right side consecutively).
  • Find the strategy that minimizes the total energy cost Janet spends to collect all the bags and display the minimum cost Bob has to pay.

    Input Format

    The first line of input contains five space-separated integers: N (number of bags), X, Y, El, Er (energy costs)

    The second line of input contains N space-separated integers representing the weight of each bag (Wi).

    Output Format

    Display the minimum energy cost expenditure for Bob.

    Examples
    01 · Example 1
    weights = [42, 3, 99]
    X = 4
    Y = 4
    El = 19
    Er = 1
    return = 576
    🐡 🦚 🦤 🐌 🦦
    Constraints
    :O
    More Amazon problems
    drafts saved locally
    public int minimumEnergyCost(int[] weights, int X, int Y, int El, int Er) {
      // write your code here
    }
    
    weights[42, 3, 99]
    X4
    Y4
    El19
    Er1
    expected576
    sign in to submit