#P2077. 取数游戏.填空题

取数游戏.填空题

题目描述

设有 NN 个正整数,其中每一个均是大于等于 11、小于等于 300300 的数。

从这 NN 个数中任取出若干个数(不能取相邻的数),要求得到一种取法,使得到的和为最大。

例如:当 N=5N=5 时,有 55 个数分别为:131828452113,18,28,45,21

此时,有许多种取法,如:

13282113,28,21 和为 6262

13,4513, 45 和为 5858

184518,45 和为 6363

...

和为 6363 应该是满足要求的一种取法

输入格式

第一行是一个整数 NN

第二行有 NN 个符合条件的正整数 aia_i

数据范围

1N501 \le N \le 50

1ai3001 \le a_i \le 300

输出格式

一个整数,即最大和。

数据样例

5
13 18 28 45 21
63

完善程序

#include<bits/stdc++.h>
using namespace std;
int n, a[55],ans[55];
int main()
{
	scanf("%d",&n);
	int i;
	for(i=1;i<=n;i++)
		scanf("%d",&a[i]);

	ans[1] = 填空(1);
	ans[2] = 填空(2);
	
	for(i=3;i<=n;i++)
		ans[i] = 填空(3) + a[i];

	printf("%d",填空(4));
	return 0;
}

填空(1):{{ input(1) }}

填空(2):{{ input(2) }}

填空(3):{{ input(3) }}

填空(4):{{ input(4) }}