CSES - Kolikot Sinulla on $n$ kolikkoa ja jokaisella kolikolla on jokin kokonaislukuarvo. Tehtäväsi on laskea, montako eri summaa voit muodostaa käyttämällä kolikoita.

Esimerkiksi kun kolikot ovat $[3,4,5]$, mahdolliset summat ovat $3$, $4$, $5$, $7$, $8$, $9$ ja $12$. Tässä tapauksessa on siis $7$ mahdollista summaa. Huomaa, että summassa tulee olla vähintään yksi kolikko eli tyhjä ratkaisu ei kelpaa.

Voit olettaa, että $1 \le n \le 100$ ja jokaisen kolikon arvo on välillä $1 \dots 100$

Python

Toteuta tiedostoon coins.py funktio count, joka antaa mahdollisten summien lukumäärän.
def count(t):
    # TODO

if __name__ == "__main__":
    print(count([3,4,5])) # 7
    print(count([1,1,2])) # 4
    print(count([2,2,2,3,3,3])) # 13
    print(count([42,5,5,100,1,3,3,7])) # 91
Java

Toteuta tiedostoon Coins.java metodi count, joka antaa mahdollisten summien lukumäärän.
public class Coins {
    public int count(int[] t) {
        // TODO
    }

    public static void main(String[] args) {
        Coins c = new Coins();
        System.out.println(c.count(new int[]{3,4,5})); // 7
        System.out.println(c.count(new int[]{1,1,2})); // 4
        System.out.println(c.count(new int[]{2,2,2,3,3,3})); // 13
        System.out.println(c.count(new int[]{42,5,5,100,1,3,3,7})); // 91
    }
}