TopcoderArchiveVisit Topcoder
SRM10 Sep 2002
SRM 113

CodeBloat

Problem statement, definition, constraints, and public examples.

Problem Statement

You are the project manager for your company's largest software development project. You know that the best software has the most code, but there is a limit. Use too much code and your supervisor will say there is bloated code. Given a list of the sizes of various components you could include in the software, and the maximum amount of code you are allowed to have, determine the biggest size the sofware can be (your software must be less than or equal to the maximum). For example:
sizes = {25,50,60,120}
maximum = 130
Your method will return 120 since all other combinations of components either
produce less code, or are greater than the 130 limit.
If no software can be built return -1(see last example).

Create a class CodeBloat that contains the method biggest, which takes an int[] sizes, and an int maximum and returns an int that represents the biggest the software could be (less than or equal to maximum).

Definition

Class:
CodeBloat
Method:
biggest
Parameters:
int[], int
Returns:
int
Method signature:
int biggest(int[] sizes, int maximum)
(be sure your method is public)

Notes

  • If no software can be built return -1

Constraints

  • sizes must contain between 1 and 20 elements inclusive
  • Each element of sizes must be between 1 and 10000 inclusive
  • maximum must be between 1 and 1000000 inclusive

Examples

  1. {25,50,60,120}
    130
    Returns: 120
    This is the example from above.
  2. {1,2,3,4,5}
    15
    Returns: 15
    All of the code can be used.
  3. {20,40,45,60,60}
    86
    Returns: 85
    Using 40 and 45 will produce the largest amount of code.
  4. {89,73,20,5,5,10000,900}
    995
    Returns: 994
  5. {122}
    1
    Returns: -1
Back to all problems