按照优先级为下标建立线段树的时候,某个位置上可能有很多个任务,但是可能取不到那么多。
具体来说:
il ll query(int p,int l,int r,int k){
if(l==r){
return min(k*bac[l],sum[p]);//这个取min
}
ll ans=0;
if(k<=val[ls[p]]){
ans=query(ls[p],l,mid,k);
}
else if(k<=val[p]){
ans=query(rs[p],mid+1,r,k-val[ls[p]])+sum[ls[p]];
}
return ans;
}
我也不知道为什么我这么制杖。