func_code_string: #include <bits/stdc++.h>   using namespace std;   long long modI(long long a, long long m);   long long gcd(long long a, long long b);   long long powM(long long x, long long y, long long m);   long long swap(long long a, long long b);   void swap(long long& a, long long& b) {     long long tp = a;     a = b;     b = tp;   }   long long gcd(long long x, long long y) {     if (x == 0) return y;     return gcd(y % x, x);   }   long long powM(long long x, long long y, long long m) {     long long ans = 1, r = 1;     x %= m;     while (r > 0 && r <= y) {       if (r & y) {         ans *= x;         ans %= m;       }       r <<= 1;       x *= x;       x %= m;     }     return ans;   }   long long modI(long long a, long long m) {     long long m0 = m, y = 0, x = 1;     if (m == 1) return 0;     while (a > 1) {       long long q = a / m;       long long t = m;       m = a % m;       a = t;       t = y;       y = x - q * y;       x = t;     }     if (x < 0) x += m0;     return x;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(0);     long long tt = 1;     while (tt--) {       long long n;       cin >> n;       long long a[n];       for (long long i = 0; i < n; i++) cin >> a[i];       long long ans = 0;       for (long long mx = 1; mx < 31; mx++) {         long long dp = 0;         long long tmp = 0;         for (long long i = 0; i < n; i++) {           if (a[i] <= mx) {             dp = max((long long)0, dp + a[i]);           }           tmp = max(dp, tmp);         }         ans = max(ans, tmp - mx);       }       cout << ans << endl;     }     return 0;   }   