题库/G6023

#G6023. [GESP202606 六级] 条形蛋糕

    传统题 难度: 普及 标签>GESPGESP六级完全背包动态规划整数划分
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

G6023 · [GESP202606 六级] 条形蛋糕

退出在线编程模式
普及 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交

寒假到了,小杨同学打算找一份兼职,顺便体验一下打工人的生活。

小杨同学给一家蛋糕店发送了一份自己的简历,希望可以在寒假来这里帮忙。店长最近正好遇到了一个难题:店里每天会做一条长条蛋糕,但是不同长度的蛋糕块卖出的价格不同,应该怎么分才能卖得最多呢?

有趣的是店长曾经学习过计算机专业。他最近对动态规划算法很感兴趣,于是打算用这个问题考一考小杨同学,问题如下:

  • 给定一条长度为 nn 的长条蛋糕和一个价格表,该价格表表示长度为 ii(i=1,2,…,ni = 1, 2, \dots, n)的蛋糕块的价格为 pip_i。求蛋糕的分割方案,使得总销售价格最大,注意蛋糕块的长度必须为整数。

输入格式

第一行一个正整数 nn(1≤n≤1031 \le n \le 10^3),表示长条蛋糕的总长度。

第二行 nn 个正整数 p1,p2,…,pnp_1, p_2, \dots, p_n(1≤pi≤1051 \le p_i \le 10^5),表示不同长度蛋糕块的价格。

输出格式

一行一个正整数,表示最大总销售价格。

4
1 5 8 9
10
10
1 5 8 9 10 17 17 20 24 30
30

说明与数据范围

样例解释

第一个样例中,长度为 11 的蛋糕价值为 11,长度为 22 的蛋糕价值为 55,长度为 33 的蛋糕价值为 88,长度为 44 的蛋糕价值为 99;

总长度为 44 的长条蛋糕,有 $\{4\}, \{1, 3\}, \{2, 2\}, \{1, 1, 2\}, \{1, 1, 1, 1\}$ 五种本质不同的分法。

其对应的总销售价格分别为 9,9,10,7,49, 9, 10, 7, 4,故最大总销售价格为 1010。

第二个样例中,长度为 1010 的长条蛋糕,销售价格最大的分法为 {10}\{10\},最大总销售价格为 3030。

来源与评测数据

GESP C++ 6级,2026年06月第1题。

本题含12个自行生成的测试点,非官方原版测试数据;每题总分100分。

题目信息

#773
—

暂无提交记录

练习难度 普及
时间限制
1000ms
内存限制
512MiB
上传者