题目1123:采药

来源:互联网 发布:java urlencoder 空格 编辑:程序博客网 时间:2024/06/05 06:28

#include <iostream>#include <stdio.h>#include <algorithm>#include <math.h>#include <string>#include <string.h>#include <vector>#include <queue>#include <stack>#include <sstream>using namespace std;struct Node{    int t;    int v;}N[101];int dp[101][1010];int main(){    int T,M;    //freopen("input.txt","r",stdin);    while(cin>>T>>M){        for(int i=1;i<=M;i++)            cin>>N[i].t>>N[i].v;        for(int i=1;i<=T;i++)            dp[0][i]=0;        for(int i=1;i<=M;i++){            for(int j=T;j>=N[i].t;j--)                dp[i][j]=max(dp[i-1][j],dp[i-1][j-N[i].t]+N[i].v);            for(int j=N[i].t-1;j>=0;j--)                dp[i][j]=dp[i-1][j];        }        printf("%d\n",dp[M][T]);    }    return 0;} /**************************************************************    Problem: 1123    User: cust123    Language: C++    Result: Accepted    Time:130 ms    Memory:1920 kb****************************************************************/


0 0