当前位置: 代码迷 >> 综合 >> 洛谷 P2925 - Hay For Sale S
  详细解决方案

洛谷 P2925 - Hay For Sale S

热度:11   发布时间:2023-12-13 04:15:56.0

题目描述

P2925 [USACO08DEC]Hay For Sale S

解法:0-1背包问题

这里稍微有个优化:当马车早早被装满时,就可以结束程序输出结果了

#include <bits/stdc++.h>
using namespace std;int main()
{
    int c, h;cin >> c >> h;vector<int> v(h+1, 0);vector<int> dp(c+1, 0);for(int i=1;i<=h;i++) cin >> v[i];for(int i=1;i<=h;i++){
    for(int j=c;j>=v[i];j--){
    dp[j] = max(dp[j], dp[j-v[i]]+v[i]);if(dp[c]==c) break;}}cout << dp[c];return 0;
}