2 solutions

  • 1
    @ 2025-3-8 19:55:53
    #include <bits/stdc++.h>
    using namespace std;
    const int N=1010;
    int f[N][N];
    int w[N],g[N]; 
    int main(){
    int n,m;
    while(cin>>m>>n)
    {
    	for(int i=1;i<=n;i++)
    	{
    		cin>>w[i]>>g[i];
    	}
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j<=m;j++)
    		{
    			f[i][j]=f[i-1][j];
    			if(j>=w[i])f[i][j]=max(f[i-1][j],g[i]+f[i-1][j-w[i]]);
    		}
    	}
    	cout<<f[n][m];
    }
    	return 0;
    }
    
    
    

    Information

    ID
    986
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    (None)
    # Submissions
    46
    Accepted
    14
    Uploaded By