hdu 2159 完全背包

来源:互联网 发布:灯光效果图制作软件 编辑:程序博客网 时间:2024/05/16 08:25
#include<stdio.h>#include<string.h>int max(int a,int b){return a>b?a:b;}int main(){int dp[200][200],a,b,i,j,k,m,n,t,s,min;while(scanf("%d%d%d%d",&n,&m,&k,&s)!=EOF){memset(dp,0,sizeof(dp));for(i=1;i<=k;i++){scanf("%d%d",&a,&b);for(j=b;j<=m;j++)for(t=1;t<=s;t++)dp[j][t]=max(dp[j][t],dp[j-b][t-1]+a);}if(dp[m][s]<n){printf("-1\n");}else{min=99999;for(i=1;i<=m;i++){for(j=1;j<=s;j++){if(dp[i][j]>=n){if(i<min)min=i;}}}printf("%d\n",m-min);}}return 0;}

0 0
原创粉丝点击