diff options
Diffstat (limited to 'water_bottles2.c')
-rw-r--r-- | water_bottles2.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/water_bottles2.c b/water_bottles2.c new file mode 100644 index 0000000..fe624b1 --- /dev/null +++ b/water_bottles2.c @@ -0,0 +1,27 @@ +// 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 +} |