1 solutions

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

    C :

    #include "stdio.h"
    #include "string.h"
    int n,c;
    int w[10000],v[40000];
    int main()
    {
    	int i,j;
    	memset(v,0,sizeof(v));
    	scanf("%d%d",&n,&c);
    	for(i=0;i<n;i++)
    		scanf("%d",&w[i]);
    	for(i=0;i<n;i++)
    	{
    		for(j=c;j>=w[i];j--)
    		{
    			if(j==w[i])
    				v[j]=1;
    			else if(v[j-w[i]])
    				v[j]=1;
    		}
    	}
    	for(j=c;j>=0;j--)
    		if(v[j])
    		{
    			printf("%d\n",j);
    			return 0;
    		}
    		return 0;
    }
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    bool f[100000];
    int n,c,x;
    int main(){
        cin>>n>>c;
        memset(f,0,sizeof(f));
        f[0]=true;
        for(int i=0;i<n;++i){
        	scanf("%d",&x);
        	for(int i=c;i>=x;--i)
        	f[i]=f[i]|f[i-x];
        }
        for(int i=c;i>=0;--i)
        if (f[i]) {
        	printf("%d",i);
        	return 0;
        }
    }
    

    Java :

    
    
    import java.util.Arrays;
    import java.util.Scanner;
    public class Main {
    	
    		
    		public static void main (String[] args) 
    		{
    			Scanner in = new Scanner(System.in);
    			int cnt  = in.nextInt();
    			int c = in.nextInt();
    			int dp[][] = new int[cnt+1][c+1]; 
    			int data [] = new int[cnt+1];
    			for(int i =1;i<=cnt;i++){
    				data[i]=in.nextInt();
    			}
    		//	System.out.println(Arrays.toString(data));
    			for(int i =1;i<=cnt;i++)
    				for(int j = 1;j<=c;j++){
    					if(j>=data[i]){
    						if(dp[i-1][j]>(dp[i-1][j-data[i]]+data[i]))
    							dp[i][j] = dp[i-1][j];
    						else
    							dp[i][j] = dp[i-1][j-data[i]] + data[i];
    					}
    					else{
    						
    						dp[i][j] = dp[i-1][j];
    					}
    					}
    				System.out.println(dp[cnt][c]);	
    			}
    			
    }
    
    
    • 1

    Information

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