Two coins of each kind (3)

Given a number x and n different coin values c₁…c_(n), compute in how
many ways it is possible to achieve change x by using each value at most
twice. Here, two coins with the same value are considered equal.

For example, if x = 4 and the available values are 1 and 2, then there
are two ways to achieve it: 1 + 1 + 2 and 2 + 2. As another example, if
x = 5 and the available values are 1, 2, 3, 4 and 5, then there are five
ways: 1 + 1 + 3, 1 + 2 + 2, 1 + 4, 2 + 3 and 5.

Input

Input consists of several cases, with only integer numbers. Every case
begins with x and n, followed by c₁…c_(n). Assume 1 ≤ n ≤ 15,
1 ≤ c_(i) ≤ x ≤ 10⁶, and that all c_(i) are different.

Output

For every case print the number of different ways to achieve change
exactly x by using each value at most twice.

Hint

A simply pruned backtracking should be enough.

Problem information

Author: Unknown
Translator: Albert Atserias

Generation: 2026-01-25T22:55:02.912Z

© Jutge.org, 2006–2026.
https://jutge.org
