Show that a certain set of positive real numbers must be finite or countable 
Let $B$ be a set of positive real numbers with the property that
  adding together any finite subset of elements from $B$ always gives a sum of $2$ or less. Show that $B$ must be finite or at most countable.

$B$ = {$x \in R:x>0\}$, $x_1,x_2...x_n \in B$ such that $x_1+x_2+...+x_n \le 2$.
Question: for any $a,b$ $(a,b)$~$R$, but $B$ is $(0,+\infty)$ so why $B$ is not uncountable (taking as $a = 0$, and letting $b$->$\infty$)?
And why for $B$ being countable doesn't contradict: for any $a,b$ $(a,b)$~$R$?
P.S. I read Showing a set is finite or countable and understood it.
 A: Not only can we show that it's countable, it's not too difficult to construct an enumeration: given an element $b$, just count how many other elements of $B$ are larger. This has to be a finite integer, since if there were an infinite number of elements greater than $b$, then the sum of $n$ such elements would be greater than $nb$, so picking an $n>2/b$ would give a sum greater than 2.
A: For any $a\in B$, define $B_a\equiv\{b\in B:a<b\}$. The cardinality of $B_a$ must be less than $\lceil2/a\rceil$, otherwise the sum of any $\lceil2/a\rceil$ elements of $B_a$ would exceed 2. That is, $\sum_{i=1}^{\lceil2/a\rceil}x_i>\sum_{i=1}^{\lceil2/a\rceil}a=a\lceil2/a\rceil\ge2$ for any sequence $x_i$ in $B_a$, contradicting the requirements on $B$.
Define the function $f:B\rightarrow\mathbb{N}$ as $f(a)=\left|B_a\right|$.
Homework: If you can show that $f$ is one-to-one then you can conclude that $|B|\le|\mathbb{N}|$. That is, $B$ is either finite or countable.

Credit goes to Acccumulation for the outline of this proof.
A: Hint 1: How many elements of $B$ can be in the set $[2,\infty)$?
Hint 2: How many elements of $B$ can be in the set $[1,2)$?
Hint 3: How many elements of $B$ can be in the set $[0.5,1)$?
