#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 个数在不取相邻数的情况下的最大和,转移时考虑取或不取当前数。