设区间修改加入的差分数组为(d[i])
前缀和(sum^n_{i=1}sum^i_{j=1}d[j]=sum_{i=1}^nd[i]*(n-i+1)=(n+1)sum^n_{i=1}d[i]+sum^n_{i=1}d[i]*i)
只需要单独维护(d[i]*i)和(d[i])即可
inline void add(int x,int v){
for(int i=x;i<=n;i+=i&-i){
t1[i]+=v;t2[i]+=x*v;
}
}
inline int ask(int x){
int ret=0;
for(int i=x;i;i-=i&-i)
ret+=(x+1)*t1[i]-t2[i];
return ret;
}