#include <iostream> #include<algorithm> #include <vector> const int MAXN = 100000; int n; int a[MAXN]; long long ans; void solve(int l, int r) { if(l+1==r) { ans += a[l]; return; } int mid=(l+r)>>1; std::vector<int> pre(a + mid,a+r); for (int i=l; i<r-mid; ++i) __(1)__ ; std::vector<long long> sum(r - mid + 1); for (int i=0; i<r-mid; ++i) sum[i+1]= sum[i]+ pre[i]; for (int i=mid-1,j=mid,max = 0; i>= l; --i) { while (j<r && __(2)__ ) ++j; max = std::max(max,a[i]); ans += __(3)__; ans += __(4)__; } solve(l, mid); solve(mid, r); } int main() { std::cin >> n; for (int i=0; i<n; ++i) std::cin >> a[i]; __(5)__ ; std::cout << ans << std::endl; return 0; }