Let k be the number of stones. Note that the sum of weights of any two stones is not greater than 1 kg.
Thus, if k≤8 we can divide these stones into 4 (or less) groups, each group has 1 or 2 stones. This division obviously fulfills the condition.
If k=9, we take 3 lightest stones. Their total weight must not be greater than 32.5<1 kg. We put these stones together into one group and distribute the other 6 into 3 groups, 2 stones in each. This division again fulfills the condition.
Now, consider the general case. Whenever two or more stones have the total weight less or equal to 0.5 kg then we merge them into one new stone. Since the number of stones is finite, this process must terminate and our new stones have the property that the sum of the weights of any two stones is greater than 0.5 kg. We deduce that the number of our new stones is less or equal to 9, otherwise, we will have at least 5 pairs of stones with total weight greater than 0.5 kg each, and the total weight of all the stones will be greater than 2.5 kg. Applying what we have done in the first two cases, we can divide these new stones as required. Obviously, the same division applies for the original unmerged stones.