# pragma GCC optimize("O3") # include std::pair DR[] = {{-1,0},{0,1},{1,0},{0,-1},{-1,1},{-1,-1},{1,1},{1,-1}}; # define ll long long # define clock (clock() * 1000.0 / CLOCKS_PER_SEC) # define rc(s) return cout << s,0 # define _ ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); # define db(x) cerr << #x << " = " << x << '\n' # define pb push_back # define mp make_pair # define all(s) s.begin(),s.end() # define sz(x) (int)((x).size()) # define int ll using namespace std; int n,a[1 << 20],ans; int32_t main(){_ //freopen("input","r",stdin); cin >> n; for(int i = 1;i <= n;i++) { cin >> a[i]; } if(n <= 5000){ for(int i = 1;i <= n;i++) { int sum = 0; int x = 0; for(int j = i;j <= n;j++) { x += a[j] * sum; sum += a[j]; ans = max(ans,x); } } } else { while(clock < 1000) { int b = rand() % n; b++; int sum = 0; int x = 0; for(int j = b;j <= n;j++) { x += a[j] * sum; sum += a[j]; ans = max(ans,x); } } rc(ans); } rc(ans); }