USACO Score Inflation,完全背包问题

自从dd_engine老大《背包问题九讲》横空出世,背包问题的精髓基本已道尽。严重推荐。反正我是又老老实实读了一遍dd老大的文章的,大牛如此,榜样在先呀。

/*
ID: fairyroad
TASK: inflate
LANG: C++
*/
#include<fstream>
using namespace std;
ifstream fin("inflate.in");
ofstream fout("inflate.out");

int dp[10010];

int main()
{
    int m, n; // total time, problem type
    fin>>m>>n;
    int s, t;

    for(int i = 0; i < n; ++i)
    {
        fin>>s>>t;
        for(int j = t; j <= m; ++j)
                if(dp[j] < dp[j-t]+s) dp[j] =  dp[j-t]+s;
    }
    fout<<dp[m]<<endl;
}


你可能感兴趣的:(c)