title: How will you know if k is constant for O(n^k) in subset sum?
body: <p>Subset sum problem: Given a set of numbers <code>S</code> and a target number let say <code>0</code>. The aim is to find a subset <code>S’</code> of <code>S</code> such that the elements in it add up to <code>0</code>. I heard that this problem becomes polynomial if the size of <code>S’</code> is given.<br>
  For example, if you have a clue that <code>3</code> elements add up to <code>0</code> we can come up with complexity <code>O(n^3)</code>. </p>
  
  <p>The class P consists of those problems that are solvable in polynomial time. For example, they could be solved in <code>O(n^k)</code> for some constant <code>k</code>, where <code>n</code> is the size of the input.
  <code>(n^k)</code> denotes the number of subsets of size <code>k</code> of <code>[n]</code>; or, equivalently, the number of ways in which we can select <code>k</code> diferent elements from an <code>n</code>-element set.
  With <code>n</code> elements; a <code>k</code>-subset of a set is a subset with <code>k</code> elements.</p>
  
  <p>Therefore let say there is an algorithm in polynomial time that finds or locate the <code>k</code>-subset that sum to <code>0</code> from <code>n</code> elements. I mean if <code>k</code> is an input of the algorithm such that <code>k</code> can also be greater than <code>3</code>. Can we say <code>k</code> is constant or what?</p>