154 滑动窗口的暴力求法
作者:
馄炖大稀粥
,
2022-06-23 13:58:04
,
所有人可见
,
阅读 251
#include <iostream>
using namespace std;
const int N = 100010;
int q[N],a[N];
int tt,hh;
int minx,maxx;
int main(){
int n,k;
cin >> n >>k;
for(int i = 0 ; i < n ; i++) cin >> a[i];
tt = -1 , hh = 0;
for(int i = 0 ; i < n ; i ++){
q[++tt] = a[i];
if(tt-hh+1 > k) hh++;
minx = q[hh];
for(int j = hh ; j <= tt ; j++)
minx = min(minx , q[j]);
if( i >= k -1 )
cout << minx <<" ";
}
cout << endl;
tt = -1 , hh = 0;
for(int i = 0 ; i < n ; i ++){
q[++tt] = a[i];
if(tt-hh+1 > k) hh++;
minx = q[hh];
for(int j = hh ; j <= tt ; j++)
maxx = max(maxx , q[j]);
if( i >= k -1 )
cout << maxx <<" ";
}
}