#include #include using namespace std; using namespace atcoder; typedef int ll; //range chmin range min ll inf = 1000000000; struct S{ll x;}; struct F{ll x;}; S op(S l,S r){return S{min(l.x,r.x)};} S e(){return S{inf};} S mapping(F l,S r){return S{min(l.x,r.x)};} F compo(F l,F r){return F{min(l.x,r.x)};} F id(){return F{inf};} ll a[300010]; int main(){ int i,j,n; cin >> n; for(i=0;i> a[i]; const int mx = 1000000; vector v(mx + 1); for(i=0;i<=mx;i++) v[i] = e(); lazy_segtree seg(v); long long ans = 0; for(i=0;i