A题 得到安抚

屠桢  •  1年前


include <bits/stdc++.h>

using namespace std; int a[100005],dp[100005][2]; int main(){

int t;
scanf("%d",&t);
while(t--){
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		dp[i][0]=dp[i][1]=0;
	}
	dp[1][1]=a[1];
	dp[2][1]=a[2];
	dp[2][0]=a[1];
	for(int i=3;i<=n;i++){
		dp[i][0]=max(dp[i-1][0],dp[i-1][1]);
		dp[i][1]=max(dp[i-2][0],dp[i-2][1])+a[i];
	}
	printf("%d\n",max(dp[n][0],dp[n][1]));
}
return 0;

}


评论: