1class Solution {2public:3pair<int, int> divmod(int dividend, int divisor) {4int quotient = dividend / divisor;5int remainder = dividend % divisor;6return make_pair(quotient, remainder);7}8int numWaterBottles(int numBottles, int numExchange) {9int result = numBottles;10pair<int, int> div = divmod(numBottles, numExchange);11int drunk = div.first;12int empty = div.second;13while (drunk) {14result += drunk;15div = divmod(drunk + empty, numExchange);16drunk = div.first;17empty = div.second;18}19return result;20}21};