STL输出不对
查看原帖
STL输出不对
1244320
Delayed楼主2024/9/19 17:36
#include<bits/stdc++.h>
using namespace std;
inline int read()
{
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0' || ch>'9')
	{
		if(ch=='-')w=-1;
		ch=getchar();
	}
	while(ch<='9' && ch>='0')
	{
		s=s*10+ch-'0';
		ch=getchar();
	}
	return s*w;
}
int n,k;
int a[1000005]={};
deque<int>q;
int main()
{
	n=read();
	for(int i=0;i<n;i++)a[i]=read();
	k=read();
	for(int i=0;i<n;i++)
	{
		while(!q.empty() && i-k+1>q.front())
		q.pop_front();
		while(!q.empty() && a[i]<a[q.back()])
		{
			q.pop_back();	
		}	
		q.push_back(i);
		if(i+1>=k)
		{
			cout<<a[q.front()]<<" ";
		}
	}
	q.clear();
	cout<<endl;
	for(int i=0;i<n;i++)
	{
		while(!q.empty() && i-k+1>q.front())
			q.pop_front();
		while(!q.empty() && a[i]>a[q.back()])
		{
			q.pop_back();	
		}	
		q.push_back(i);
		if(i+1>=k)
		{
			cout<<a[q.front()]<<" ";
		}
	}
	return 0;
}
2024/9/19 17:36
加载中...