#include #define MOD 1000000007 #define loop(i,a,b) for(long long int i=a;i=b;i--) #define sloop(i,a,b,step) for(long long int i=a;i=b;i-=step) #define init(arr,val) memset(arr,val,sizeof(arr)) #define pb(a) push_back(a) #define mp(a,b) make_pair(a,b) typedef long long int ll; using namespace std; vector v; void kadane(ll arr[], ll n) { ll max_so_far = 0; ll max_ending_here = 0; ll start = 0, end = 0; ll beg = 0; for (ll i = 0; i < n; i++) { max_ending_here = max_ending_here + arr[i]; if (max_ending_here < 0) { max_ending_here = 0; beg = i + 1; } if (max_so_far < max_ending_here) { max_so_far = max_ending_here; start = beg; end = i; } } for (ll i = start; i <= end; i++) v.pb(arr[i]); } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ll n,ans=0; cin>>n; ll arr[n]; loop(i,0,n) cin>>arr[i]; kadane(arr,n); ll len=v.size(); loop(i,0,len-1) { loop(j,i+1,len) ans+=(v[i]*v[j]); } cout<