当窗口长度为1的时候会RE,why?
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,m[1000002];
cin>>a>>b;
for(int i=1;i<=a;i++)
{
cin>>m[i];
}
deque <int> c,d;
for(int i=1;i<=a;i++)
{
if(i-d.front()>=b)
{
c.pop_front();
d.pop_front();
}
while(!c.empty()&&m[i]<c.back())
{
c.pop_back();
d.pop_back();
}
c.push_back(m[i]);
d.push_back(i);
if(i>=b)
{
cout<<c.front()<<" ";
}
}
cout<<endl;
if(!c.empty())
{
c.clear();
d.clear();
}
for(int i=1;i<=a;i++)
{
if(i-d.front()>=b)
{
c.pop_front();
d.pop_front();
}
while(!c.empty()&&m[i]>c.back())
{
c.pop_back();
d.pop_back();
}
c.push_back(m[i]);
d.push_back(i);
if(i>=b)
{
cout<<c.front()<<" ";
}
}
}