1 条题解

  • 0
    @ 2026-2-26 8:39:53
    #include<iostream>
    using namespace std;
    int f[45001]={0},w[10001]/*价值*/,c[10001]/*重量*/,n,m;
    int main()
    {
    	cin>>m>>n;        //不同之处1:输入顺序变了
    	for(int i=1;i<=n;i++)
    	{
    		cin>>c[i];
    		w[i]=c[i];   //不同之处2:直接赋值而非输入!
    	}
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=m;j>=c[i];j--)
    		{
    			if(f[j-c[i]]+w[i]>f[j])
    			f[j]=f[j-c[i]]+w[i];
    		}
    	}
    	cout<<f[m];
    	return 0;
    }
    
    
    • 1

    E08_4 [USACO09OCT] Bessie's Weight Problem G

    信息

    ID
    1786
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    134
    已通过
    31
    上传者