【混合背包】CDOJ1606 难喝的饮料

#include<cstdio>
#include<algorithm>
using namespace std;
int n,V,op[20010],c[20010],w[20010],f[10010];
int main(){
	scanf("%d%d",&n,&V);
	for(int i=1;i<=n;++i){
		scanf("%d%d%d",&op[i],&c[i],&w[i]);
	}
	for(int i=1;i<=n;++i){
		if(op[i]==2){
			for(int v=V;v>=w[i];--v){
				f[v]=max(f[v],f[v-w[i]]+c[i]);
			}
		}
		else{
			for(int v=w[i];v<=V;++v){
				f[v]=max(f[v],f[v-w[i]]+c[i]);
			}
		}
	}
	printf("%d\n",f[V]);
	return 0;
}
posted @ 2017-06-02 20:44  AutSky_JadeK  阅读(112)  评论(0编辑  收藏  举报
TVアニメ「Charlotte(シャーロット)」公式サイト TVアニメ「Charlotte(シャーロット)」公式サイト