#GESP620260601. 【GESP-六级】-2026.06-条形蛋糕

    ID: 245 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>GESPGESP六级2026.06动态规划完全背包整数拆分最大化收益

【GESP-六级】-2026.06-条形蛋糕

题目描述

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

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

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

给定一条长度为 n 的长条蛋糕和一个价格表,该价格表表示长度为 i(1≤i≤n)的蛋糕块的价格为 p_i。求蛋糕的分割方案,使得总销售价格最大,注意蛋糕块的长度必须为整数。

输入格式

第一行一个正整数 n(1≤n≤1000),表示长条蛋糕的总长度。第二行 n 个正整数 p_1,…,p_n(1≤p_i≤10^9),表示不同长度蛋糕块的价格。

输出格式

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

样例

样例输入 1

4
1 5 8 9

样例输出 1

10

样例输入 2

10
1 5 8 9 10 17 17 20 24 30

样例输出 2

30

样例解释

样例 1 中,长度为 4 的长条蛋糕可以分为 {4}、{1,3}、{2,2}、{1,1,2}、{1,1,1,1} 五种本质不同的方案,对应总价为 9、9、10、7、4,因此最大总价为 10。样例 2 中,长度为 10 的蛋糕直接整条出售即可获得 30。

数据范围

原卷数据范围:1≤n≤1000,p_i 为正整数。