Recently I came across a problem which resembles normal knapsack questions(items with weight, value) but this question has q offline queries. On each query, a left and right limit and x(maximum weight limit) will be given. So find maximum value of items between left item to right item while not exceeding weight of x. N <= 10000 & Q <= 50000 & X <= 2000, so naive won't be able to AC. I have heard of Mo's algorithm, and how to add and remove items, but I am unsure about removing items in knapsack. Can someone teach me or if not possible, suggest a new algorithm, thanks.