#9805. 【提高】取数
【提高】取数
📖 说明
设有 N 个正整数(1 ≤ N ≤ 50),其中每一个均是大于等于 1、小于等于 10000 的数。 从这 N 个数中任取若干个数(不能取相邻的数),要求得到一种取法,使得到的和最大。
例如:当 N = 5 时,有 5 个数分别为:
13, 18, 28, 45, 21
此时,有许多种取法,例如:
- 取
13, 28, 21
→ 和为 62 - 取
13, 45
→ 和为 58 - 取
18, 45
→ 和为 63 ✅
最大和 = 63
📥 输入格式
- 第一行:一个整数 N
- 第二行:N 个整数,每个数之间用一个空格分隔。
📤 输出格式
- 仅一行,输出一个整数,表示最大和。
📌 样例
输入:
5
13 18 28 45 21
输出:
63
💡 提示
本题可以用 动态规划 求解,定义 dp[i]
表示前 i 个数在不取相邻数的情况下的最大和,转移时考虑取或不取当前数。