TopcoderArchiveVisit Topcoder
SRM13 Jan 2007
SRM 334

SupermarketDiscount

Problem statement, definition, constraints, and public examples.

Problem Statement

Three girls are shopping at a supermarket. The supermarket is having a sale: "Spend $50 or more in a single transaction and get $10 off." The girls realize that if they combine their purchases, they might be able to pay less than if they each pay separately. For example, if they are buying a total of $46, $62 and $9 worth of goods, respectively, they can combine the $46 and $9 totals and make two purchase transactions ($55 and $62) to get $20 off.

You will be given a int[] goods, each element of which is the total cost of the goods purchased by one of the girls. Return the minimal total cost required to purchase all the goods. The girls are willing to combine their purchases as described above, but no girl is willing to split up her goods across multiple transactions.

Definition

Class:
SupermarketDiscount
Method:
minAmount
Parameters:
int[]
Returns:
int
Method signature:
int minAmount(int[] goods)
(be sure your method is public)

Constraints

  • goods will contain exactly 3 elements.
  • Each element of goods will be between 1 and 99, inclusive.

Examples

  1. {46, 62, 9}
    Returns: 97
    The example from the problem statement.
  2. {50, 62, 93}
    Returns: 175
    The best decision is to pay separately.
  3. {5, 31, 15}
    Returns: 41
    The only way to get the discount is to combine all three purchases into one transaction.
  4. {5, 3, 15}
    Returns: 23
    The girls have no chance of getting the discount.
Back to all problems