90???
查看原帖
90???
421506
sf2166751838楼主2020/12/23 20:29
#include<iostream>
#include<cstdio>
using namespace std;
int a[1000006],q[1000006];
int main()
{
	int n,k,h=1,t=1;
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	scanf("%d",&a[i]);
	q[h]=1,q[t]=1;
	for(int i=2;i<=n;i++)
	{
		while( h<=t && a[q[t]]>=a[i]) t--;
		q[++t]=i;
		if(i-q[h]>=k) h++;
	    if(i>=k) 
		cout<<a[q[h]]<<" ";
	}
	cout<<endl;
	t=1,h=1,q[h]=1,q[t]=1;
	for(int i=2;i<=n;i++)
	{
		while( h<=t && a[q[t]]<=a[i]) t--;
		q[++t]=i;
		if(i-q[h]>=k) h++;
	    if(i>=k) 
		cout<<a[q[h]]<<" ";
	}
	return 0;
}
2020/12/23 20:29
加载中...