3 条题解

  • 0
    @ 2023-4-1 16:00:03
    #include;
    using namespace std;
    int a[1001],b[1001],c[1001],f[1001];
    int main()
    {
    int t,m;
    cin>>t>>m;
    for(int i=1;i<=m;i++)cin>>a[i]>>b[i];
    for(int i=1;i<=m;i++)
    {
    for(int j=t;j>=1;j--)
    {
    if((j-a[i])>=0)f[j]=max(f[j],f[j-a[i]]+b[i]);
    }
    }
    cout<<f[t];
    return 0;
    }
    
    • 0
      @ 2023-4-1 14:55:57

      #include <bits/stdc++.h> using namespace std; int n,m,a[2005],b[2005],c[2005],f[2005][2005]; 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=1;j<=n;j++) { f[i][j]=f[i-1][j]; if(j>=a[i])f[i][j]=max(f[i][j],f[i-1][j-a[i]]+b[i]); } } cout<<f[m][n]<<endl; return 0; }

      • -1
        @ 2023-4-1 14:32:59
        #include<。。。。。。>//不止三个点
        #define int long long
        using namespace std;
        int v,n;
        int a,b;
        int f[-100011];
        main(){
        	cin>>v>>n;	
        	for(int i=1;i<=n;i++){
        	    cin>>a>>b;
        	    for(int j=v;j>=a;j--) f[j]=max(f[j],f[j-a]+b);
        	}
        	cout<<f[v];
        	return 0;
        }
        
        • 1

        信息

        ID
        490
        时间
        1000ms
        内存
        128MiB
        难度
        2
        标签
        递交数
        219
        已通过
        88
        上传者