提交时间:2022-08-18 11:02:00
运行 ID: 55440
#include <bits/stdc++.h> using namespace std; #define mod 1000000007 inline int read(){ int x=0;bool f=1;char ch=getchar(); for(;ch<'0'||ch>'9';ch=getchar()) if(ch=='-') f=0; for(;ch>='0'&&ch<='9';ch=getchar()) x=(x<<3)+(x<<1)+(ch^48); return f?x:-x; } int n,m,k,a[505],ans,f[75][455]; int main(){ f[0][0]=1; n=read(),m=read(),k=read(); for(int i=1;i<=n;i++) a[i]=read(); for(int i=1;i<=m;i++) for(int j=1;j<=k;j++) for(int o=1;o<=n;o++) if(j>=a[o]) f[i][j]+=f[i-1][j-a[o]],f[i][j]%=mod; for(int i=1;i<=k;i++) (ans+=f[m][i])%=mod; printf("%d\n",ans); return 0; }