·
  • 板块灌水区
  • 楼主wkh0130
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/2/8 14:44
  • 上次更新2025/2/8 14:45:09
查看原帖
·
1309440
wkh0130楼主2025/2/8 14:44
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f
#define pii pair<int,int>
#define mp make_pair
#define lcm(x,y) x/__gcd(x,y)*y
#define lowbit(x) ((x) & -(x))

const int N = 1e6+5;
deque<int> q,d;
int a[N],n,k;
signed main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>n>>k;
	for(int i = 1;i <= n;i++){
		cin>>a[i];
		if(!q.empty()&&q.front()+k<=i) q.pop_front();
		while(!q.empty()&&a[q.back()]>=a[i]) q.pop_back();
		q.push_back(i);
		if(!d.empty()&&d.front()+k<=i) d.pop_front();
		while(!d.empty()&&a[d.back()]<=a[i]) d.pop_back();
		d.push_back(i);
		if(i >= k){
			cout<<a[d.front()]<<" ";
			cout<<a[q.front()]<<"\n";
		}
	}
	return 0;
}
2025/2/8 14:44
加载中...