stl会t的!!!
单调减
for(int i=1;i<=len;i++)
{
while(head<tail&&sum[q[tail-1]]>sum[i-1]) tail--;//去除队尾不符合
q[tail++]=i-1;//入队
while(head<tail&&i-q[head]>k) head++;//去除超范围队头
//相应的操作
}
单调增
for(int i=1;i<=len;i++)
{
while(head<tail&&sum[q[tail-1]]<sum[i-1]) tail--;//去除队尾不符合
q[tail++]=i-1;//入队
while(head<tail&&i-q[head]>k) head++;//去除超范围队头
//相应的操作
}