#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<deque>
using namespace std;
const int N=2e6+10;
int n,m;
deque<int> q;
int a[N];
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
while(!q.empty()&&a[q.back()]<a[i]) q.pop_back();
q.push_back(i);
if(i>=m-1)
{
while(!q.empty()&&q.front()<i-m+1) q.pop_front();如果队头不在窗口内,弹出
cout<<a[q.front()]<<endl;//输出队头
}
}
return 0;
}
洛谷p2032
最新推荐文章于 2024-08-14 11:57:07 发布