TomoLink
CompaniesRazorpayData Structures & AlgorithmsMaximum Value of K Coins From Piles
DSA
HardArray

Maximum Value of K Coins From Piles

arraydynamic programmingprefix sum

Problem Statement

There are n piles of coins on a table. Each pile consists of a positive number of coins of assorted denominations.

In one move, you can choose any coin on top of any pile, remove it, and add it to your wallet.

Given a list piles , where piles[i] is a list of integers denoting the composition of the i ^th pile from top to bottom , and a positive integer k , return the maximum total value of coins you can have in your wallet if you choose exactly k coins optimally .

Examples

Example 1
Input: piles = [[1,100,3],[7,8,9]], k = 2
Output: 101
The above diagram shows the different ways we can choose k coins. The maximum total we can obtain is 101.
Example 2
Input: piles = [[100],[100],[100],[100],[100],[100],[1,1,1,1,1,1,700]], k = 7
Output: 706
The maximum total can be obtained if we choose all coins from the last pile.

Constraints

n == piles.length
1 <= n <= 1000
1 <= piles[i][j] <= 10 ^5
1 <= k <= sum(piles[i].length) <= 2000
😤
Hard
Difficulty
Topic Info
ModuleDSA
CategoryArray
Sub-topicDynamic Programming
Tags
arraydynamic programmingprefix sum
Navigation
Maximum Value of K Coins From Piles [Hard] | Razorpay Dsa | TomoLink