TopcoderArchiveVisit Topcoder
Archive
Algorithm problem

ArithmeticalMean

Problem statement, definition, constraints, and public examples.

Problem Statement

You are given a int[] elements. If the arithmetic mean of a non-empty subset of elements is between L and H, inclusive, the subset is considered "good". A subset of a int[] is obtained by removing 0 or more elements from the int[]. Return the number of "good" subsets.

Definition

Class:
ArithmeticalMean
Method:
howMany
Parameters:
int[], int, int
Returns:
long
Method signature:
long howMany(int[] elements, int L, int H)
(be sure your method is public)

Constraints

  • elements will contain between 1 and 36 elements, inclusive.
  • Each element of elements will be between -25000000 and 25000000, inclusive.
  • Each element of elements will be distinct.
  • L and H will each be between -25000000 and 25000000, inclusive.
  • L will not be greater than H.

Examples

  1. {10,1,3}
    2
    6
    Returns: 4
    All possible arithmetic means are: 1, 2, 3, 14/3, 11/2, 13/2, 10. Four of them (2, 3, 14/2, 11/2) make "good" subsets.
  2. {0}
    -1
    0
    Returns: 1
    There is just one subset and it's "good".
  3. {0}
    100
    100
    Returns: 0
    Same one subset but it's not "good".
  4. {1,2,3,4,5,6,7,8,9,10}
    3
    7
    Returns: 949
Back to all problems