2,10RE,7,8,9WA50分求助!
查看原帖
2,10RE,7,8,9WA50分求助!
631896
Wangtsjo楼主2022/3/31 20:14

#求助!为什么有两个RE和三个WA

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<stack>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std;
deque<long long>q;
long long a[100009],n,k;
int main()
{
	cin>>n;
	scanf("%lld",&k);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
	}
	
		for(int i=1;i<=n;i++)
	{
		while(!q.empty()&&q.front()<i-k+1)
		q.pop_front();
		while(!q.empty()&&a[q.back()]>=a[i])
		{
			q.pop_back();
		}
		q.push_back(i);
		if(i>k-1) printf("%lld ",a[q.front()]);
	}
	printf("\n");//求最小值
	q.clear();//清空
	for(int i=1;i<=n;i++)
	{
		while(!q.empty()&&q.front()<i-k+1)
		q.pop_front();
		while(!q.empty()&&a[q.back()]<=a[i])
		{
			q.pop_back();
		}
		q.push_back(i);
		if(i>k-1) printf("%lld ",a[q.front()]);
	}
	return 0;
}//求最大值

谢谢各位大佬!!

2022/3/31 20:14
加载中...