The other two hats have the values B = 20 and C = 30.
One stumbling block to solving this problem is the fact that, in general, you can't solve it. Or more precisely, in most case, no matter how many chances they are given, A, B and C will not be able to determine their numbers. So keep in mind that there must have been something special about the particular numbers that made it possible in this case. The fact that A was able to solve the problem is a clue as to what the numbers must have been.
Secondly, imagine that A sees that B and C both have a 25 on their hats. Since his number can't be 0 (the numbers were specified to be positive), it must be 50. And he knows this immediately. So we can rule out the case of (50,25,25).
But more importantly, we have discovered a rule. If any player sees the other two players have the same number of their hats, then that player knows immediately that his number is the sum of those numbers, and the game is over.
Now let's assume that the numbers 50, 20 and 30 are correct, and show how A figured out his number.
When A is about to make his first statement, he sees a 20 and a 30. This means his number is either 10 or 50. But he has no other information to go on, hence his statement "I cannot determine my number."
After B and C have spoken, it is A's turn again. Although B and C can't guess, this itself is an important and new piece of information for A. A now knows that there is not enough information for B or C to determine their values. And A now thinks about how this can be possible.
Remember, A knows his value is either 50 or 10. A now examines the consequences if his number is 10. In particular, he imagines the current game from C's perspective.
If A's number was 10, then when it was C's turn to speak, C would realize that his own number must be 10 or 30. But C would also know that B could not guess his own number. However, C would realize, if C's number were 10, then B would have seen two 10's and won the game. And that didn't happen.
Therefore, (still assuming that A's number is 10), and B did not see two 10's. Therefore, C would have realized that his own number cannot be 10, and so must be 30. So if A's number was 10, C would have had enough information to win the game.
But C did not say anything. Therefore, A now realizes that his own number cannot be 10, and that it must be 50. And so A can win the game.
Now, this shows that for the given data (50,20,30), A's answer is reasonable. It does not show that there is no other set of numbers for B and C for which a similar process would allow A to determine his number.