From f482f347181373e77a0cc66c7f0757cc2a037249 Mon Sep 17 00:00:00 2001 From: Atharv R Tingane Date: Sat, 4 Oct 2025 20:29:26 +0530 Subject: [PATCH] Sloved problem in c++ --- Number of People Aware of a Secret.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Number of People Aware of a Secret.cpp diff --git a/Number of People Aware of a Secret.cpp b/Number of People Aware of a Secret.cpp new file mode 100644 index 0000000..6c9a52d --- /dev/null +++ b/Number of People Aware of a Secret.cpp @@ -0,0 +1,19 @@ +class Solution { +public: + int peopleAwareOfSecret(int n, int delay, int forget) { + vector dp(n + 1, 0); + dp[1] = 1; + long long share = 0, MOD = 1000000007; + for (int t = 2; t <= n; t++) { + if (t - delay > 0) + share = (share + dp[t - delay] + MOD) % MOD; + if (t - forget > 0) + share = (share - dp[t - forget] + MOD) % MOD; + dp[t] = share; + } + long long know = 0; + for (int i = n - forget + 1; i <= n; i++) + know = (know + dp[i]) % MOD; + return (int)know; + } +};