WA0pts 求调
查看原帖
WA0pts 求调
482610
Mortidesperatslav楼主2023/7/10 15:23
#include<bits/stdc++.h>
using namespace std;
int n,k,a[1000005],q[1000005],b[1000005],c[1000005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n>>k;
	for(register int i=1;i<=n;i++)cin>>a[i];
	memset(q,0,sizeof(q));
	int f=1,e=0;
	q[1]=1;
	for(register int i=1;i<=n;i++){
		while(f<=e&&i-q[f]>k)f++;
		b[i]=a[q[f]];
		while(f<=e&&a[i]<=q[e])e--;
		q[++e]=i;
	}
	memset(q,0,sizeof(q));
	f=1,e=0;
	q[1]=1;
	for(register int i=1;i<=n;i++){
		while(f<=e&&i-q[f]>k)f++;
		c[i]=a[q[f]];
		while(f<=e&&a[i]>=q[e])e--;
		q[++e]=i;
	}
	for(register int i=k;i<=n;i++)cout<<b[i]<<" ";
	cout<<"\n";
	for(register int i=k;i<=n;i++)cout<<c[i]<<" ";
}
2023/7/10 15:23
加载中...