#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1e6+1;
ll dp[maxn][2],a[maxn];
int n;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i) scanf("%lld",&a[i]);
dp[1][0]=dp[1][1]=0;
for(int i=2;i<=n;++i)
{
if(a[i]-a[i-1]>0)
dp[i][0]=max(dp[i-1][0]+a[i]-a[i-1],dp[i-1][1]),
dp[i][1]=max(dp[i-1][1],dp[i-1][0]);
else dp[i][0]=max(dp[i-1][1],dp[i-1][0]),
dp[i][1]=max(dp[i-1][1]+a[i-1]-a[i],dp[i-1][0]);
}
printf("%lld\n",max(dp[n][0],dp[n][1]));
}
Codeforces Round #276 (Div. 1) D. Kindergarten(DP+思维)
猜你喜欢
转载自blog.csdn.net/qq_42479630/article/details/105209590
今日推荐
周排行