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;
}

浙公网安备 33010602011771号