用树状数组维护区间和,然后用找使 W≤0W \le 0 W≤0 的位置,比如说到 2i2^i2i 后 W<0W < 0W<0 了,iii 减一在树状数组上找值。由于树状数组上的区间长度都是 2k2^k2k 的,所以 O(1)O(1)O(1) 时间就能查询。