样例过了,测试数据1也过,但是提交就全WA
  • 板块P2032 扫描
  • 楼主快乐一凡
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/3/27 11:43
  • 上次更新2023/10/28 05:25:37
查看原帖
样例过了,测试数据1也过,但是提交就全WA
502426
快乐一凡楼主2022/3/27 11:43

我用的是单调队列的方法。

望大佬改正,谢谢。

代码如下:

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const long long x=10e6+10;
int N,K,da[x],dl[x],id[x],le=1,ri;
int main()
{
	cin>>N>>K;
	for(int i=1;i<=N;i++)
	{
		scanf("%d",&da[i]);
	}
	for(int i=1;i<=N;i++)//max
	{
		while(le<=ri&&da[i]>=dl[ri])
		{
			ri--;
		}
		ri++;
		dl[ri]=da[i];
		id[ri]=i;
		if(id[le]+K<=i)
		{
			le++;
		}
		if(i>=K)
		{
			printf("%d ",dl[le]);
		}
	}
	return 0;
} 
2022/3/27 11:43
加载中...