// 3100. Water Bottles II #include "leetcode.h" /* * you are given two integers 'numBottles' and 'numExchange'. 'numBottles' * represents the number of full water bottoles that you are initially given. in * one operation, you can perform one of the following operations: drink any * number of full bottles, turning them into empty bottles, or exchange * 'numExchange' empty bottles with one full water bottle, then increase * 'numExchange' by 1. return the maximum number of water bottles you can drink */ int maxBottlesDrunk(int numBottles, int numExchange) { int ans = numBottles; while (numBottles >= numExchange) { numBottles -= numExchange; ans++; numExchange++; numBottles++; } return ans; } int main() { printf("%d\n", maxBottlesDrunk(13, 6)); // expect: 15 printf("%d\n", maxBottlesDrunk(10, 3)); // expect: 13 }