题目参见COGS或洛谷
话说为什么要刷这么水的01背包啊。。。//
还不是为刷洛谷试炼场提高组做铺垫
在这里奉劝大家珍爱生命,远离水题。
这么水的题就不加注释了。
#include
#include
#include
using namespace std;
struct node
{
int v, p, t;
}fa[30];
int n, m;
int a[30][100005];
int main()
{
//freopen("happy.in","r",stdin);
//freopen("happy.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=m;i++)
{
scanf("%d%d",&fa[i].p,&fa[i].v);
fa[i].t=fa[i].v*fa[i].p;
}
for(int i=1;i<=m;i++)
{
for(int j=1;j=fa[i].p)
{
a[i][j]=max(a[i-1][j],a[i-1][j-fa[i].p]+fa[i].t);
}
else
a[i][j]=a[i-1][j];
}
}
cout<<a[m][n]<<"\n";
return 0;
}