欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

P1048 采药

程序员文章站 2022-05-21 08:18:41
...
#include<bits/stdc++.h>
using namespace std;
int t,m;
int dp[109][1009];
struct cao{
    int time;
    int value;
}cao[109];
int main(){
    cin>>t>>m;
    for(int i=1;i<=m;i++){
        int time,value;
        cin>>time>>value;
        cao[i].time=time;
        cao[i].value=value;
    }
    for(int i=1;i<=m;i++){
        for(int j=1;j<=t;j++){
            if(cao[i].time>j){
                dp[i][j]=dp[i-1][j];
            }
            else{
                dp[i][j]=max(dp[i-1][j],dp[i-1][j-cao[i].time]+cao[i].value);
            }
        }
    }
    int maxx=0;
    for(int i=1;i<=m;i++){
        for(int j=1;j<=t;j++){
            if(maxx<dp[i][j])
            maxx=dp[i][j];
        }
    }
    cout<<maxx;
    return 0;
}

 

相关标签: 算法学习 算法

上一篇: 力扣—283. 移动零

下一篇: Moo Volume