Josif_tepe

Untitled

Nov 20th, 2025
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. const int maxn = 1005;
  5. typedef long long ll;
  6. const ll MOD = 1e9 + 7;
  7.  
  8. int main()
  9. {
  10.     ios_base::sync_with_stdio(false);
  11.     int n, K;
  12.     cin >> n >> K;
  13.    
  14.     vector<int> v(n);
  15.     for(int i = 0; i < n; i++) {
  16.         cin >> v[i];
  17.     }
  18.    
  19.     vector<ll> dp(K + 1);
  20.     dp[0] = 1;
  21.     for(int at = 0; at < n; at++) {
  22.         for(int used_candies = K; used_candies >= 0; used_candies--) {
  23.             ll tmp = dp[used_candies];
  24.             int L = used_candies + 1;
  25.             int R = used_candies + min(v[at], K - used_candies);
  26.            
  27.             for(int i = L; i <= R; i++) {
  28.                 dp[i] += tmp;
  29.                 dp[i] %= MOD;
  30.             }
  31. //            for(int candy = 1; candy <= min(v[at], K - used_candies); candy++) {
  32. //                dp[used_candies + candy] += tmp;
  33. //                dp[used_candies + candy] %= MOD;
  34. //            }
  35.         }
  36.     }
  37.    
  38.     cout << dp[K] << endl;
  39.     return 0;
  40. }
  41.  
Advertisement
Add Comment
Please, Sign In to add comment