poj 2181 Jumping Cows 【简单DP】

//dp[i][0]=max(dp[i-1][1]-a[i],dp[i-1][0]);
//dp[i][1]=max(dp[i-1][0]+a[i],dp[i-1][1]);
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=200000;
int dp[maxn][2],a[maxn];
int main()
{
    int p;
    scanf("%d",&p);
    for(int i=1;i<=p;i++) scanf("%d",a+i);
    for(int i=1;i<=p;i++)
    {
        dp[i][0]=max(dp[i-1][1]-a[i],dp[i-1][0]);
        dp[i][1]=max(dp[i-1][0]+a[i],dp[i-1][1]);
    }
    printf("%d\n",max(dp[p][0],dp[p][1]));
    return 0;
}

你可能感兴趣的:(poj 2181 Jumping Cows 【简单DP】)