# Naloga: dan je seznam stevil s in stevilo x. Poisci katerokoli podmnozico s,
# katere vsota je x. Ce resitve ni, vrni None, sicer seznam, ki je resitev.

def subset_sum(s, x):
    if s == []:
        if x == 0:
            return []
        else:
            return None
    else:
        k = s[0]  # prvi element s
        t = s[1:] # vsi ostali elementi s
        # 1. moznost, poskusimo uporabiti k
        resitev1 = subset_sum(t, x - k)
        if resitev1 == None:
            # Prva moznost ni uspela
            # 2. moznost, poskusimo brez k
            return subset_sum(t, x) # MOJSTER
            
            # VARIANTA ZA VAJENCE
            # resitev2 = subset_sum(t, x)
            # rerurn resitev2
            
            # VARIANTA ZA AMATERJE:
            # resitev2 = subset_sum(t, x)
            # if resitev2 == None:
            #    # tudi druga moznost ni uspela
            #    return None
            # else:
            # # druga moznost je uspela
            # return resitev2
            
        else:
            # Prva moznost je uspela
            resitev1.append(k)
            return resitev1
            
            
