提交时间:2022-08-18 11:07:13

运行 ID: 55462

#include <bits/stdc++.h> using namespace std; int sum,n,m,l; int dp[71][501],pos[71][501]; int a[501]; int main() { cin>>n>>m>>l; if(n<m) { cout<<'0'; return 0; } for(int i=1; i<=n; i++) cin>>pos[1][i]; for(int i=1; i<=n; i++) dp[1][i]=1; for(int i=1; i<=m; i++) for(int j=1; j<=n; j++) for(int k=1; k<=j; k++) { if(pos[i-1][k]+a[k]>l) continue; dp[i][j]+=dp[i-1][k]; pos[i-1][k]=max(pos[i-1][k]+a[k],pos[i-1][k]); } for(int i=1; i<=n; i++) sum+=dp[m][i]; cout<<sum; return 0; }