From 6bc0999dd60f3c5ba6e6aee95d7b33ddd0c126cc Mon Sep 17 00:00:00 2001 From: Mohammed Muzakkir Fazal <56503557+mdmzfzl@users.noreply.github.com> Date: Sat, 26 Aug 2023 18:03:51 +0300 Subject: [PATCH] Create: 0837-new-21-game.c --- c/0837-new-21-game.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 c/0837-new-21-game.c diff --git a/c/0837-new-21-game.c b/c/0837-new-21-game.c new file mode 100644 index 000000000..3a26222c3 --- /dev/null +++ b/c/0837-new-21-game.c @@ -0,0 +1,27 @@ +double new21Game(int n, int k, int maxPts) { + if (k == 0 || n >= k + maxPts) { + return 1.0; + } + + double windowSum = 1.0; + double probability = 0.0; + + double dp[n + 1]; + dp[0] = 1.0; + + for (int i = 1; i <= n; i++) { + dp[i] = windowSum / maxPts; + + if (i < k) { + windowSum += dp[i]; + } else { + probability += dp[i]; + } + + if (i >= maxPts) { + windowSum -= dp[i - maxPts]; + } + } + + return probability; +}