题解
【提高】取数
1 条题解
-
0
#include <iostream> #include <algorithm> using namespace std; const int N = 55; int dp[N],a[N],n; int maxn = -1; int main() { scanf("%d",&n); for (int i = 1;i <= n;i++) scanf("%d",&a[i]); dp[1] = a[1]; dp[2] = max(a[1],a[2]); maxn = max(dp[1],dp[2]);//与dp[1],dp[2]比较,更新maxn for (int i = 3;i <= n;i++) { dp[i] = max(dp[i - 1],dp[i - 2] + a[i]); maxn = max(maxn,dp[i]);//与dp[1~n]比较,更新maxn } //for (int i = 1;i <= n;i++) printf("%d ",dp[i]); cout << maxn << endl;//maxn = dp[n] return 0; }
- 1