0分求助……
查看原帖
0分求助……
377164
__uint256_t楼主2020/12/26 09:31
#include<bits/stdc++.h>
using namespace std;
const int N=1000007;
int n,m,a[105];
int dp[10005]={1},rmax=0;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++){
		int res=rmax;
		for(int j=res;j>=0;j--){
			if(dp[j]){
				rmax=max(rmax,j+a[i]);
				for(int k=1;k<=a[i];k++)dp[j+k]=(dp[j+k]+1)%N;
			}
		}
	}
	cout<<dp[m];
}

至少样例对了……

2020/12/26 09:31
加载中...