Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
101812 彭士宝 纪念品分组 C++ Compile Error 0 MS 0 KB 890 2024-12-18 21:59:22

Tests(0/0):


Code:

#include <iostream> #include <vector> using namespace std; int main() { int w, n; cin >> w >> n; // 读取每组纪念品价格之和的上限w和纪念品的总件数n vector<int> prices(n); // 存储纪念品价格的向量 for (int i = 0; i < n; ++i) { cin >> prices[i]; // 读取每个纪念品的价格 } vector<int> dp(n + 1, INT_MAX); // 动态规划数组,初始化为最大整数值 dp[0] = 0; // 0件纪念品不需要分组 // 动态规划求解最少分组数 for (int i = 1; i <= n; ++i) { for (int j = 1; j <= 2 && i - j >= 0; ++j) { // 每组最多两件纪念品 if (prices[i - 1] + prices[i - j] <= w) { dp[i] = min(dp[i], dp[i - j] + 1); // 更新最少分组数 } } } cout << dp[n] << endl; // 输出最少分组数 return 0; }


Run Info:

Main.cc: In function 'int main()':
Main.cc:13:27: error: 'INT_MAX' was not declared in this scope
     vector dp(n + 1, INT_MAX); // 动态规划数组,初始化为最大整数值
                           ^