您的位置:首页 > 其它

vijos 1104 采药

2015-06-11 18:23 204 查看
简单背包问题

并没有难度

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<map>
#include<stack>
#include<list>
#include<vector>
#include<cstring>
#define maxn 1000+5
using namespace std;
struct stu
{
int time,vaule;
};
stu a[maxn];
int dp[maxn];
int main()
{
int t,m;
fill(dp,dp+maxn,0);
while(cin>>t>>m)
{
for(int i=0;i<m;i++) cin>>a[i].time>>a[i].vaule;
for(int i=0;i<m;i++)
{
for(int j=t;j>=a[i].time;j--) dp[j]=max(dp[j-a[i].time]+a[i].vaule,dp[j]);
}
cout<<dp[t]<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: