1 solutions

  • 0
    @ 2025-3-3 16:24:09

    C :

    #include<stdio.h>
    int N,M;
    int a[1001];
    long long Bag[10001];
    int main()
    {
    	scanf("%d%d",&N,&M);
    	
    	for(int i=1;i<=N;++i)
    	{
    		scanf("%d",&a[i]);
    	}
    	Bag[0]=1;
    	for(int i=1;i<=N;++i)
    	{
    		for(int j=M;j>=a[i];--j)
    		{
    			for(int k=1;k<=j/a[i];++k)
    			{
    				Bag[j]+=Bag[j-k*a[i]];
    			}
    		}
    	}
    	printf("%lld",Bag[M]); 
    	
    	return 0;
    }
    

    C++ :

    #include<iostream>
    #include<cstdio>
    using namespace std; 
    int main()
    {
    	//freopen("mianzhi.in","r",stdin);
    	long long v,n;
    	long long sum[10001]={1};
    	long long value;
    	cin>>v>>n;
    	for(int i=0;i<=v-1;i++)
    	{
    		cin>>value;
    		for(int j=value;j<=n;j++) 
    		{
    			sum[j]+=sum[j-value];
    		}
    	}
    	cout<<sum[n];
    	return 0;
    }
    
    • 1

    Information

    ID
    10016
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By