2 solutions

  • 1
    @ 2026-8-26 16:26:24

    简易背包作法:

    #include<bits/stdc++.h>
    using namespace std;
    int f[110],MOD=1000007,n,m;
    f[0]=1;
    int main(){
    	cin>>n>>m;
    	for(int i=1;i<=n;i++){
    		int a;
    		cin>>a;
    		for(int j=m;j>=0;j--){
    			for(int k=1;k<=a&&k<=j;k++){
    				f[j]=(f[j]+f[j-k])%MOD;
    			}
    		}
    	}
    	cout<<f[m];
    }
    

    Information

    ID
    439
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    6
    Tags
    # Submissions
    34
    Accepted
    11
    Uploaded By