#include using namespace std; using ll = long long; int main(void) { int n; cin >> n; vector a(n); for (int i = 0; i < n; i++) cin >> a[i]; vector> dp(n+1,vector(2,LLONG_MIN)); // dp[0][0] = 0; for (int i = 0; i < n; i++) dp[i+1][1] = -a[i]; for (int i = 0; i < n; i++) { if (dp[i][0] != LLONG_MIN) { dp[i+1][0] = max(dp[i+1][0],dp[i][0]); dp[i+1][1] = max(dp[i+1][1],dp[i][0]-a[i]); } if (dp[i][1] != LLONG_MIN) { dp[i+1][1] = max(dp[i+1][1],dp[i][1]); dp[i+1][0] = max(dp[i+1][0],dp[i][1]+a[i]); } } // スコアが負になる場合を気を付ける必要がある cout << max(dp[n][0],dp[n][1]) << endl; return 0; }