USACO 3.1 Score Inflation

背包问题

#include <iostream>
#include 
<fstream>

using namespace std;

ifstream 
in("inflate.in");
ofstream 
out("inflate.out");


int points[10000];
int minutes[10000];
int dp[10001];
int n;
int m;

void solve()
{
    
int res = 0;

    
in>>m>>n;

    
for(int i=0;i<n;++i)
        
in>>points[i],in>>minutes[i];

    memset(dp,
0,sizeof(dp));

    
for(int i=0;i<n;++i){
        
for(int j=minutes[i];j<=m;++j){
            dp[j] 
= max(dp[j-minutes[i]]+points[i],dp[j]);
        }
    }

    
out<<dp[m]<<endl;
}

int main(int argc,char *argv[])
{
    solve(); 
    
return 0;
}


posted on 2009-06-29 22:21 YZY 阅读(843) 评论(0)  编辑 收藏 引用 所属分类: AlgorithmUSACO动态规划


专题:Android  iPad jQuery Chrome OS

博客园首页  IT新闻  知识库  学英语  C++程序员招聘
标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
每天10分钟,轻松学英语
网站导航:


导航

<2009年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

积分与排名

最新评论

阅读排行榜