#pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #ifdef local #include #else #define dump(...) void(0); #endif #include #include #include #include namespace man { } int main() { std::cin.tie(nullptr) -> sync_with_stdio(false); int n; std::cin >> n; std::vector a(n); for(auto &e: a) { std::cin >> e; } std::vector dp(n + 1, std::vector(2, 0L)); for(const auto &i: std::views::iota(0, n)) { dp[i + 1][0] = std::max(dp[i][0], dp[i][1] + a[i]); dp[i + 1][1] = std::max(dp[i][1], dp[i][0] - a[i]); } dump(dp); std::cout << *std::ranges::max_element(dp.back()) << '\n'; }