专栏文章

q1

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miojcfob
此快照首次捕获于
2025/12/02 20:09
3 个月前
此快照最后确认于
2025/12/02 20:09
3 个月前
查看原文
CPP
#include<iostream>
#include<cstring>
using namespace std;
int n,k,q[1000001],a[1000001],id[1000001];
void MIN(){
	int head=1,tail=0;
	memset(q,0,sizeof q);
	memset(id,0,sizeof id);
	for(int i=1;i<=n;i++){
		while(head<=tail&&q[tail]>a[i])tail--;
		q[++tail]=a[i];
		id[tail]=i;
		while(head<=tail&&id[head]<i-k+1)head++;
		if(i>=k)cout<<q[head]<<" ";
	}
	cout<<endl;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	while(1){
		cin>>n>>k;
		if(n==0&&k==0){
			return 0;	
		}
		for(int i=1;i<=n;i++){
			cin>>a[i];
		}
		MIN();	
	}

	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...