At first, 20 bottles were fine, and then 10 bottles were fine. Then divide the five bottles into four bottles and 1 bottle, first change the four empty bottles into two bottles, and then change the two bottles into 1 bottle after drinking. At this time, the number of empty bottles left on hand after drinking is 2, and these 2 bottles are replaced by 1 bottle to continue drinking. You can give the bottle back to others after drinking the exchanged bottle, so the most soda you can drink is: 20+10+5+2+1+1= 40.
Method 2:
Look at 1 yuan first. How many bottles of soda can you drink at most? Drink 1 bottle and 1 empty bottle, borrow 1 empty bottle from the merchant, and exchange two bottles for 1 bottle to continue drinking. After drinking, return these empty bottles of 1 to the merchants. That is, 1 yuan can drink up to 2 bottles of soda. Of course, 20 yuan can drink up to 40 bottles of soda.
Method 3:
Two empty bottles for one soda, we know that pure soda is only worth 50 cents. Of course, 20 yuan can drink up to 40 bottles of pure soda. Of course, you can drink 2N bottles of soda at most for N yuan.
Answer:
40 bottles