死活调不出来了,求助dalao/kk
#include<bits/stdc++.h>
#define int long long
using namespace std;
int c[5],dp[200005],n,d[5],s;
signed main()
{
cin>>c[1]>>c[2]>>c[3]>>c[4]>>n;
dp[0]=1;
for(int i=1;i<=4;i++)
{
for(int j=c[i];j<=2e5;j++)
dp[j]+=dp[j-c[i]];
}
for(int i=1;i<=n;i++)
{
cin>>d[1]>>d[2]>>d[3]>>d[4]>>s;
d[1]++;
d[1]*=c[1];
d[2]++;
d[2]*=c[2];
d[3]++;
d[3]*=c[3];
d[4]++;
d[4]*=c[4];
int ans=dp[s];
if(s>=d[1])ans-=dp[s-d[1]];
if(s>=d[2])ans-=dp[s-d[2]];
if(s>=d[3])ans-=dp[s-d[3]];
if(s>=d[4])ans-=dp[s-d[4]];
if(s>=d[1]+d[2])ans+=dp[s-d[1]-d[2]];
if(s>=d[1]+d[3])ans+=dp[s-d[1]-d[3]];
if(s>=d[1]+d[4])ans+=dp[s-d[1]-d[4]];
if(s>=d[2]+d[3])ans+=dp[s-d[2]-d[3]];
if(s>=d[2]+d[4])ans+=dp[s-d[2]-d[4]];
if(s>=d[3]+d[4])ans+=dp[s-d[3]-d[4]];
if(s>=d[1]+d[2]+d[3])ans-=dp[s-d[1]-d[2]-d[3]];
if(s>=d[1]+d[2]+d[4])ans-=dp[s-d[1]-d[2]-d[4]];
if(s>=d[2]+d[3]+d[4])ans-=dp[s-d[2]-d[3]-d[4]];
if(s>=d[1]+d[2]+d[3]+d[4])ans+=dp[s-d[1]-d[2]-d[3]-d[4]];
cout<<ans<<endl;
}
}