滑动窗口求条
查看原帖
滑动窗口求条
1415788
absolutevalue_y楼主2024/8/30 09:59
#include <bits/stdc++.h>
using namespace std;
long long n,k;
long long a[1000005];
long long maxn=LLONG_MIN,maxi,minn=LLONG_MAX,mini;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	scanf("%lld %lld",&n,&k);
	for(int i=1; i<=n; i++){
		scanf("%lld",&a[i]);
	}
	for(int i=1; i<=n-k+1; i++){
		if(mini>n){
			break;
		}
		if(mini<i){
			minn=min(a[i],min(a[i+1],a[i+2]));
			if(minn=a[i+2]){
				mini=i+2;
			}else if(minn=a[i+1]){
				mini=i+1;
			}else{
				mini=i;
			}
			cout<<minn<<" ";
			continue;
		}
		if(mini>n){
			break;
		}
		if(minn>a[i]){
			minn=a[i];
			mini=i;
		}
		cout<<minn<<" ";
	}
	cout<<"\n";
	for(int i=1; i<=n-k+1; i++){
		if(maxi>n){
			break;
		}
		if(maxi<i){
			maxn=max(a[i],max(a[i+1],a[i+2]));
			if(maxn=a[i+2]){
				maxi=i+2;
			}else if(maxn=a[i+1]){
				maxi=i+1;
			}else{
				maxi=i;
			}
			cout<<maxn<<" ";
			continue;
		}
		if(maxi>n){
			break;
		}
		if(maxn<a[i]){
			maxn=a[i];
			maxi=i;
		}
		cout<<maxn<<" ";
	}
	cout<<"\n";
	return 0;
} 

调不对力(大悲)

2024/8/30 09:59
加载中...