int countPartitions(int n, int d, vector<int>& arr) {
// Code here
long long sum=0;
for(int i=0;i<n;i++){
sum+=arr[i];
}
long long target=(sum+d);
if(target%2==1 || sum<d || n==1) return 0;
int s=target/2;
//*****
long long mod = 1e9+7;
long long ans[n+1][s+1];
// for(int i=0;i<n+1;i++) ans[i][0]=1;
ans[0][0]=1;
for(int i=1;i<s+1;i++) ans[0][i]=0;
for(int i=1;i<n+1;i++){
for(int j=0;j<s+1;j++){
if(arr[i-1]<=j) ans[i][j]=ans[i-1][j-arr[i-1]]%mod + ans[i-1][j]%mod;
else ans[i][j]=ans[i-1][j]%mod;
}
}
return ans[n][s]%mod;
// return ans[n][s];
//*****
}
To embed this project on your website, copy the following code and paste it into your website's HTML: