#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvvl vector #define vvl vector> #define VV(a, b, c, d) vector>(a, vector(b, c)) #define VVV(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define re(c, b) for(ll c=0;c dat; BIT(ll N){ while(N>M) M*=2; dat.resize(M*2-1, 0); } void update(ll x, ll k){ for(int i=k+1;i<=M;i+=(i&(-i))){ dat[i] += x; } } ll sum(ll r){ ll ret = 0; for(int k=r;k>0;k-=(k&(-k))) ret += dat[k]; return ret; } ll query(ll l, ll r){ return sum(r) - sum(l); } }; int main(int argc, char const *argv[]) { ll n, q;scanf("%lld %lld", &n,&q); vll a(n);re(i, n) scanf("%lld", &a[i]); vll pre(n, 0); BIT bt(n+1); for(int i=1;i