func_code_string: #include <bits/stdc++.h>   using namespace std;   long long pow(int a, int b, long long MOD) {     long long x = 1, y = a;     while (b > 0) {       if (b % 2 == 1) {         x = (x * y);         if (x > MOD) x %= MOD;       }       y = (y * y);       if (y > MOD) y %= MOD;       b /= 2;     }     return x;   }   long long InverseEuler(int n, long long MOD) { return pow(n, MOD - 2, MOD); }   int hcf(int n1, int n2) {     if (n2 != 0)       return hcf(n2, n1 % n2);     else       return n1;   }   int p[100090] = {};   void prime() {     for (int i = 2; i * i <= 100009; i++)       if (p[i] == 0)         for (int j = i + i; j <= 100009; j += i) p[j] = 1;     p[0] = 1;     p[1] = 1;   }   int main() {     int a[100002];     int n;     cin >> n;     for (int i = 0; i < n; i++) cin >> a[i];     int b[100002], c[100002], f = -1;     for (int i = 1; i < n; i++) {       b[i] = abs(a[i] - a[i - 1]) * f;       f *= -1;     }     f = -1;     for (int i = 1; i < n; i++) {       c[i] = b[i] * -1;     }     long long sum = 0, mx = INT_MIN, k = 1;     for (int i = 1; i < n; i++) {       sum += b[i];       if (sum < 0) sum = 0;       mx = max(mx, sum);     }     sum = 0;     long long mx1 = INT_MIN, j = 1;     for (int i = 1; i < n; i++) {       sum += c[i];       if (sum < 0) sum = 0;       mx1 = max(mx1, sum);     }     cout << max(mx, mx1);   }   