A[1-n]的和
所以需要维护两个树状数组
sum1[i] = D[i]
sum2[i] = D[i]*(i-1)
然后修改相应的更新和求和方法即可
void update(){
int x = i;
while(i <= n){
sum1[i] += k;
sum2[i] += k * (x-1);
i += -i&i;
}
}
int sum(int i){
int sum = 0,x = i;
while( i<= n ){
sum += x * sum1[i]-sum2[i];
i -= -i&i;
}
return sum;
}