题意:你需要维护一个双端队列。有5种操作,共进行 \(q\) 次:
- 给定 \(v,w\) ,在队首加入一个物品,其体积为 \(v\),权值为 \(w\);
- 给定 \(v,w\) ,在队尾加入一个物品,其体积为 \(v\),权值为 \(w\);
- 删除队首的物品。
- 删除队尾的物品。
- 给定 \(l,r\),从队列中选取若干物品,在其体积之和对 \(p\) ( \(p\) 为定值)取模后在 \([l,r]\) 中的情况下,最大化物品的权值和。如果没有合法方案,输出 \(-1\) 。
\(q\leq 50000,p\leq 500,0\leq w,v |