1 条题解

  • 0
    @ 2024-7-14 10:52:52

    模板题

    #include<bits/stdc++.h>
    using namespace std;
    int t,m,dp[110][1010][2],a[110],b[110],ans;
    int main(){
    	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=0;j<i;++j){
    			for(int v=a[i];v<=t;++v){
    				dp[i][v][1]=max(max(dp[j][v-a[i]][0],dp[j][v-a[i]][1])+b[i],dp[i][v][1]);
    				dp[i][v][0]=max(dp[i][v][0],max(dp[j][v][0],dp[j][v][1]));
    				ans=max(ans,dp[i][v][1]);
    				ans=max(ans,dp[i][v][0]);
    			}
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
    • 1

    信息

    ID
    486
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    317
    已通过
    89
    上传者