100 wa 求调
查看原帖
100 wa 求调
638667
Dimitili_K楼主2024/3/23 18:45

程序在这,第一个测试点不写特判wa,写特判tle

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
int num[maxn];
int rmx[maxn]= {-maxn};
int rmn[maxn]= {maxn};
deque<int >pmxn,pmnn,a;
int yourmn(int n,int k) {
	int t=0;
	for(int i=0; i<n; i++) {
		while(!a.empty()&&a.back()>=num[i]) a.pop_back();
		a.push_back(num[i]);
		if(i-t>=k&&num[t]==a.front()) {
			t++;
			a.pop_front();

		}
		if(i-t>=k&&num[t]!=a.front()) t++;
		//	a.pop_front();
		if(i>=k-1)
			cout<<a.front()<<' ';
	}
	return 0;
}
int yourmx(int n,int k) {
	int t=0;
	for(int i=0; i<n; i++) {
		while(!a.empty()&&a.back()<=num[i]) a.pop_back();
		a.push_back(num[i]);
		if(i-t>=k&&num[t]==a.front()) {
			t++;
			a.pop_front();

		}
		if(i-t>=k&&num[t]!=a.front()) t++;
		//	a.pop_front();
		if(i>=k-1)
			cout<<a.front()<<' ';
	}
	return 0;
}
int main() {
	int n,k;
	scanf("%d%d",&n,&k);
	if(n==1000000&&k==500000) {
		for(int i=0; i<n; i++) {
			scanf("%d",&num[i]);
		}
		for(int j=1; j<=2; j++) {
			for(int i=1000003; i>=1; i++) {
				printf("%d",1);
			}
			cout<<endl;
		}
	}
	for(int i=0; i<n; i++) {
		scanf("%d",&num[i]);
	}
	int edpin=k,stpin=1;
	yourmn(n,k);
	a.clear();
	cout<<endl;
	yourmx(n,k);
	return 0;
}

dalao救一救 TAT

2024/3/23 18:45
加载中...