Advertisement
vaibhav1906

Sarthak | Perfect Sum Problem

Dec 17th, 2022
1,084
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.68 KB | None | 0 0
  1. using namespace std;
  2.  
  3. int main() {
  4.     //code
  5.     int t;
  6.     cin>>t;
  7.     while(t--){
  8.         int n;
  9.         cin>>n;
  10.         vector<int> a(n,0);
  11.         for(int i=0; i<n; i++){
  12.             int x;
  13.             cin>>x;
  14.             a[i] = x;
  15.         }
  16.         int k;
  17.         cin>>k;
  18.         vector<vector<int>> dp(n,vector<int>(k+1,0));
  19.         dp[n-1][0] = 1;
  20.         if(a[n-1]<=k)
  21.         dp[n-1][a[n-1]] += 1;
  22.         for(int i=n-2; i>=0; i--){
  23.             for(int j=0; j<=k; j++){
  24.                 dp[i][j] = dp[i+1][j]%(1000000000+7);
  25.                 if(j-a[i]>=0){
  26.                     dp[i][j] += (dp[i+1][j-a[i]]%(1000000000+7));
  27.                 }
  28.             }
  29.         }
  30.        
  31.         cout<<dp[0][k]%(1000000000+7)<<endl;
  32.     }
  33.     return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement