Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define int long long
- int ar[105], n, k;
- int dp[105][10005];
- int solve()
- {
- for(int i=0; i<n; i++) {
- for(int j=0; j<=k; j++) {
- if(i==0 || j==0) dp[i][j]=1;
- else if(j<ar[i]) dp[i][j]=dp[i-1][j];
- else dp[i][j]=dp[i-1][j]+dp[i][j-ar[i]];
- dp[i][j]=dp[i][j]%100000007;
- }
- }
- return dp[n-1][k];
- }
- main()
- {
- int t;
- scanf("%lld", &t);
- for(int j=1; j<=t; j++) {
- scanf("%lld %lld", &n, &k);
- for(int i=0; i<n; i++) scanf("%lld", &ar[i]);
- printf("Case %lld: %lld\n", j, solve());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement