解法:
#include <bits/stdc++.h>
using namespace std;
const int N =1e5+3;
int dp[N];
int main() {
int n;
cin>>n;
for (int i=1;i<=n;i++) cin>>dp[i];
for (int i=2;i<=n;i++) {
dp[i]=max(dp[i-1],dp[i-2]+dp[i]);
}
cout<<dp[n]<<endl;
return 0;
}
解法:
#include <bits/stdc++.h>
using namespace std;
const int N =1e5+3;
int dp[N];
int main() {
int n;
cin>>n;
for (int i=1;i<=n;i++) cin>>dp[i];
for (int i=2;i<=n;i++) {
dp[i]=max(dp[i-1],dp[i-2]+dp[i]);
}
cout<<dp[n]<<endl;
return 0;
}