intさわだんのBlack History

刹那的レジェンドになりたい。

POJ 2182 Jumping Cows

こんな簡単なDPが眠っていたとは。。。

#include <cstdio>
#include <algorithm>
using namespace std;
int p;
int s[150002];
int dp[150002][2];
int main(){
	scanf("%d",&p);
	for(int i = 1;i <= p;i++)scanf("%d",&s[i]);

	for(int i = 1;i <= p;i++){
		dp[i][0] = max(dp[i-1][0],dp[i-1][1]-s[i]);
		dp[i][1] = max(dp[i-1][1],dp[i-1][0]+s[i]);
	}
	printf("%d\n",max(dp[p][0],dp[p][1]));

	return 0;
}