CSES DP Problemset | Coin Combinations - I | DP Approach + Implementation

Поділитися
Вставка
  • Опубліковано 18 вер 2024

КОМЕНТАРІ • 1

  • @mrcow6531
    @mrcow6531 Місяць тому

    Hello Sir, My C++ recursive code giving TLE for two large cases can you pls review it :)
    //? Coin combinations CSES problem set
    #include
    using namespace std ;
    #define MOD 1000000007
    #define ll long long
    ll rec(vector &v , ll target , vector &memo) {
    if( memo[ target ] > 0) return memo[target] ;
    if(target == 0) return 1 ;
    ll sum = 0 ;
    for(ll i = 0 ; i < v.size() ; i ++) {
    if(target - v[i] < 0) break;
    sum += rec(v , target - v[i] , memo) ;
    sum = sum % MOD ;
    }
    memo[target] = sum ;
    return sum ;
    }
    int main ()
    {
    ll n , x ;
    cin >> n >> x ;
    vector v(n) ;
    for(ll i = 0 ; i < n ; i++) cin >> v[i] ;
    sort(v.begin() , v.end()) ;
    vector memo (x + 1 , -1) ;
    memo[0] = 1 ;
    ll ans = rec(v , x , memo) ;
    cout