Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
55438 | zengjilin | T3 作业 | C++ | 运行超时 | 0 | 1000 MS | 256 KB | 710 | 2022-08-18 11:01:45 |
#include<bits/stdc++.h> using namespace std; const long long mod=1e9+7; int n,m,k; int a[505]; inline long long read(){ register long long x=0,f=0; register char t=getchar(); while(t<'0'||t>'9')f^=(t=='-'),t=getchar(); while(t>='0'&&t<='9')x=(x<<3)+(x<<1)+(t^48),t=getchar(); return f?-x:x; } long long p(int num,int w,int j){ if(num==m){ // cout<<num<<" "<<w<<" "<<j<<endl; if(w<=k) return 1; else return 0; } long long sum=0; for(int i=j;i<=n;i++) sum+=p(num+1,w+a[i],i); sum%=mod; return sum; } int main(){ n=read(),m=read(),k=read(); for(int i=1;i<=n;i++) a[i]=read(); long long ans=p(0,0,1); ans%=mod; printf("%lld",ans); return 0; }