#include using namespace std; typedef signed long long ll; #undef _P #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x<(to);x++) #define FORR(x,arr) for(auto& x:arr) #define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++) #define ALL(a) (a.begin()),(a.end()) #define ZERO(a) memset(a,0,sizeof(a)) #define MINUS(a) memset(a,0xff,sizeof(a)) //------------------------------------------------------- int N,q; int A[202020]; int L[202020],R[202020]; const int DI=500; vector> ev[500]; ll ret[202020]; multiset P,Q; ll AP=0,AQ=0; void add(int v) { P.insert(v); AP+=v; v=*P.rbegin(); AP-=v; P.erase(P.find(v)); Q.insert(v); AQ+=v; if(P.size()>N>>q; FOR(i,N) cin>>A[i]; FOR(i,q) { cin>>L[i]>>R[i]; L[i]--; ev[L[i]/DI].push_back({R[i],i}); } FOR(i,500) { sort(ALL(ev[i])); P.clear(); Q.clear(); AP=AQ=0; int SL=i*DI,SR=i*DI; FORR(e,ev[i]) { x=e.second; while(L[x]