Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- int n,banaitehbe,i,j,k,l,t,cas;
- cin>>t;
- for(cas=1;cas<=t;cas++)
- {
- cin>>n>>banaitehbe;
- int value[n+5],koyta[n+5],dp[banaitehbe+5];
- for(i=0;i<n;i++)
- cin>>value[i];
- for(i=0;i<n;i++)
- cin>>koyta[i];
- memset(dp,0,sizeof(dp));
- dp[0]=1;
- for(i=0;i<n;i++)
- {
- for(j=banaitehbe;j>=1;j--)
- {
- for(k=1;k<=koyta[i];k++)
- {
- if(j>=(value[i]*k))
- dp[j]=(dp[j]+dp[j-(value[i]*k)])%100000007;
- }
- // cout<<"dp[j] "<<dp[j]<<endl;
- }
- /* for(l=1;l<=banaitehbe;l++)
- cout<<dp[l]<<" ";
- */
- // cout<<endl;
- }
- cout<<"Case "<<cas<<": "<<dp[banaitehbe]<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement