1 条题解

  • 0
    @ 2025-2-21 18:11:58
    #include<bits/stdc++.h>
    using namespace std;
    bool f[10005],f2[10005];
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	memset(f,1,sizeof(f));
    	for(int i=1;i<=n;i++)
    	{
    		memset(f2,0,sizeof(f2));
    		f2[0]=true;
    		int x;
    		while(cin>>x)
    		{
    			if(x==-1)break;
    			for(int j=10001;j>=0;j--)
    			{
    				if(f2[j]==true)
    					f2[j+x]=true;
    			}
    		}
    		for(int j=1;j<=10001;j++)
    		{
    			f[j]=f[j]&&f2[j];
    		}
    	}
    	f[0]=true;
    	for(int i=10001;i>=0;i--)
    		if(f[i]==true)
    		{
    			printf("%d",i);
    			return 0;
    		}
    	return 0;
    }
    
    • 1

    信息

    ID
    5562
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    4
    已通过
    3
    上传者