P2347 砝码称重

Aimee


一个很水的背包


#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n;
int dp[10001];
int num[10001];
int pa[10001];
int x;
int l;
int sum[8]={1,2,3,5,10,20};
int Aimee;
int main(){
	for(int i=1;i<=6;++i){
		scanf("%d",&x); 
		for(int j=1;j<=x;++j){
			pa[++l]=sum[i-1];
		}
	}
	dp[0]=1;
	for(int i=1;i<=l;++i){
		for(int j=1000;j>=pa[i];--j){
			dp[j]=max(dp[j],dp[j-pa[i]]);
		}
	} 
	for(int i=1;i<=1000;++i){
		Aimee+=dp[i];
	}
	cout<<"Total="<<Aimee<<endl; 
	return 0;
}
原文地址:https://www.cnblogs.com/For-Miku/p/13907319.html