楼主有地方写错了,树状数组sum对某个元素进行修改时:
int add(int x){
	while(x<maxn){
        c[x]++;//这里应该改成sum[x]++;
        x+=lowbit(x);
    }
}