#include #include #include #include #include #include #include #include #include #include #include static const int MOD = 998244353; using ll = long long; using uint = unsigned; using ull = unsigned long long; using namespace std; template constexpr T INF = ::numeric_limits::max() / 32 * 15 + 208; ll dp[2][200001]; int main() { int n; cin >> n; vector A(n); for (auto &&i : A) scanf("%d", &i); dp[0][0] = -INF; dp[1][0] = -INF; for (int i = 0; i < n; ++i) { dp[0][i+1] = max(dp[0][i], dp[1][i]+A[i]); dp[1][i+1] = max(dp[1][i], max(0LL, dp[0][i])-A[i]); } cout << max(dp[0][n], dp[1][n]) << "\n"; return 0; }