sicily 1342 开心的金明 DP

#include<cstdio>
#include<memory.h>
int mon,num;
int dp[30001],x[26],y[26];
int main()
{
    scanf("%d%d",&mon,&num);
    memset(dp,0,sizeof(int));
    for(int i=0;i<num;++i)
        scanf("%d%d",&x[i],&y[i]);
    for(int i = 0 ; i < num ; ++i 
        for(int j=mon;j>=x[i];--j)  //剪支,之前我是从1开始枚举的T~T。。
            if(dp[j-x[i]]+y[i]*x[i] > dp[j])
                dp[j] = dp[j-x[i]]+y[i]*x[i];
    printf("%d",dp[mon]);
    return 0;
}
原文地址:https://www.cnblogs.com/tinyork/p/3441752.html