链接:https://ac.nowcoder.com/acm/contest/558/I
来源:牛客网
题目描述
小猫在研究序列。小猫在研究选择。
给定一个长度为N的序列a1,a2,…,aN,请你在这N个元素中选出一些(可以不选,可以全选),使得对于任意1≤i<N,ai与ai+1不被同时选,求选出的数的和最大是多少。
输入描述:
第一行一个正整数T,表示数据组数。每组数据的第一行一个正整数N。接下来一行N个正整数a1,a2,…,aN。
输出描述:
T行,每行一个整数,表示每组数据的答案。
示例1
输入
3
5
1 100 101 100 1
4
1 2 3 4
3
51 100 51
输出
200
6
102
#include<stdio.h>
#include<string.h>
int main()
{
int n,i,j,m,m1,m2,a[10000],b[1000];
scanf("%d\n",&n);
while(n--){
m1=0;
a[0]=0;
scanf("%d",&m);
for(i=1;i<=m;i++)
scanf("%d",&a[i]);
for(i=2;i<=m;i++)
a[i]=a[i-1]>a[i-2]+a[i]?a[i-1]:a[i-2]+a[i];
printf("%d\n",a[m]);
}
return 0;
}