有N道题。要求得到最少W分
给出N道题的:每道题用时T。分数V,应在且必须在L时刻提交才干得分
问得到W分所用的最少的时间
以L-T排序,然后做01背包就可以
#include "stdio.h"#include "algorithm"#include "string.h"using namespace std;struct Mark{ int t,v,l,x;}mark[40];int dp[300010];bool cmp(Mark a,Mark b){ if (a.x!=b.x) return a.x=mark[i].l ;j--) dp[j]=Max(dp[j],dp[j-mark[i].t]+mark[i].v); ans=up+1; for (i=0;i<=up;i++) if (dp[i]>=m) {ans=i;break;} if(ans==up+1) printf("zhx is naive!\n"); else printf("%d\n",ans); } return 0;}