1092: 地头蛇PIPI

#include <bits/stdc++.h>
using namespace std;
int n; 
const int N=100000+10;
int dp[N];
int tag[N];
int w[N];
int main(){
	while(scanf("%d",&n)!=EOF){
		for(int i=1;i<=n;i++)
			scanf("%d",&w[i]);
		dp[1]=w[1];
		tag[1]=1;
		int m=dp[1];
		for(int i=2;i<=n;i++){
			if(tag[i-1]==0){
				dp[i]=max(dp[i-1]+w[i],dp[i-2]+w[i]);
				tag[i]=1;
			}else{
				if(dp[i-2]+w[i]>dp[i-1]){
					tag[i]=1;
					dp[i]=dp[i-2]+w[i];
				}
				else{
					dp[i]=dp[i-1];
					tag[i]=0;
				}
			}
			m=max(m,dp[i]);
		}
		cout<<m<<endl;
	}
	return 0;
}
posted @ 2026-03-12 12:41  peter_shen  阅读(9)  评论(0)    收藏  举报