条形蛋糕
1 秒 / 测试点 · 512 MiB · 38 个测试点。
题目描述
寒假到了,小杨同学打算找一份兼职,顺便体验一下打工人的生活。
小杨同学给一家蛋糕店发送了一份自己的简历,希望可以在寒假来这里帮忙。店长最近正好遇到了一个难题:店里每天会做一条长条蛋糕,但是不同长度的蛋糕块卖出的价格不同,应该怎么分才能卖得最多呢?
有趣的是店长曾经学习过计算机专业。他最近对动态规划算法很感兴趣,于是打算用这个问题考一考小杨同学,问题如下:
- 给定一条长度为 的长条蛋糕和一个价格表,该价格表表示长度为 ()的蛋糕块的价格为 。求蛋糕的分割方案,使得总的销售价格最大,注意蛋糕块的长度必须为整数。
输入格式
第一行一个正整数 (),表示长条蛋糕的总长度。
第二行 个正整数 (),表示不同长度蛋糕块的价格。
输出格式
一行一个正整数,表示最大总销售价格。
输入样例 1
41 5 8 9输出样例 1
10输入样例 2
101 5 8 9 10 17 17 20 24 30输出样例 2
30样例解释
第一个样例中,长度为1的蛋糕售价为1,长度为2的蛋糕售价为5,长度为3的蛋糕售价为8,长度为4的蛋糕售价为9。
总长度为4的长条蛋糕,有 五种本质不同的分法。
其对应的总销售价格分别为9,9,10,7,4,故最大总销售价格为10。
第二个样例中,长度为10的长条蛋糕,销售价格最大的分法为 ,最大总销售价格为30。
时间限制:1.0 s;内存限制:512.0 MB。