P2639 [USACO09OCT]Bessie's Weight Problem G 题解
P2639 [USACO09OCT]Bessie's Weight Problem G
#include<iostream> using namespace std; long long dp[45001]; int s[501]; int main() { int N,H; cin>>H>>N; for (int i=1;i<=N;i++) { cin>>s[i]; } for (int i=1;i<=N;i++) { for (int j=H;j>=s[i];j--) { dp[j]=max(dp[j],dp[j-s[i]]+s[i]); } } cout<<dp[H]<<endl; }