From fe3b2be09b8b0cb82d2a40ee481fa74735dbf938 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Wed, 1 Oct 2025 22:16:25 -0600 Subject: 3100. water bottles 2 --- water_bottles2.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 water_bottles2.c (limited to 'water_bottles2.c') 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 +} -- cgit v1.2.3