如果你用的是 upper_bound 查找。判断 upper_bound(b + st[i], b + ed[i] + 1, x) - b - 1 是否还在此块内。
upper_bound
upper_bound(b + st[i], b + ed[i] + 1, x) - b - 1
开 long long !放心 #define int long long 。
long long
#define int long long
块内前缀和。先将块头的赋值,再循环。
数组要开够!RERERERE。