3 条题解

  • 1
    @ 2023-4-1 15:51:57
    using namespace std;
    int main()
    {	long long n,m;
    	cin>>n>>m;
    	for(long long i=1;i<=m;i++)
    	{
    		cin>>b[i]>>a[i];
    		a[i]*=b[i];
    	}
    	for(long long i=1;i<=m;i++)
    	{
    		for(long long j=n;j>=b[i];j--)
    		{
    			f[j]=max(f[j],f[j-b[i]]+a[i]);
    		}
    	}
    	cout<<f[n]<<"\n";
    	return 0;
    }
    
    • 0
      @ 2023-4-1 16:03:00

      #include <bits/stdc++.h> using namespace std; int n,m,a[2005],b[2005],c[2005],f[2000005]; int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>a[i]>>b[i]; } for(int i=1;i<=m;i++) { for(int j=n;j>=a[i];j--) { f[j]=max(f[j],f[j-a[i]]+b[i]*a[i]); } } cout<<f[n]<<endl; return 0; }

      • 0
        @ 2023-4-1 15:53:11
        #include<bits/stdc++.h>
        #define ll long long
        using namespace std;
        ll n,m,a[155555],b[155555],f[155555];
        int main(){
        	std::ios::sync_with_stdio(false);
        	cin>>m>>n;
        	for(int i=1;i<=n;i++)
        		cin>>a[i]>>b[i];
        	for(int i=1;i<=n;i++){
        		for(int j=m;j>=a[i];j--){
        			f[j]=max(f[j],f[j-a[i]]+b[i]*a[i]);
        		}	
        	}
        	cout<<f[m];
        	return 0;
        }
        
        
        
        
        
        • 1

        信息

        ID
        491
        时间
        1000ms
        内存
        128MiB
        难度
        2
        标签
        递交数
        150
        已通过
        63
        上传者