求助 ! #8 #9 TLE
查看原帖
求助 ! #8 #9 TLE
1088732
GXZJQ楼主2024/1/3 13:00

以下是本蒟蒻的代码 , 麻烦大佬看一下怎么样才能不超时

#include<bits/stdc++.h>
using namespace std;
int n, k;
int num;
int s;
int ans1[1000001], ans2[1000001];
int len = 1;
int huanchun[1000001];
deque<int> mem;
int main() {
//	freopen(".in", "r", stdin);
//	freopen(".out", "w", stdout);
	cin >> n >> k;
	for (int i = 1; i <= n; i++) {
		cin >> num;
		mem.push_back(num);
	}
	s = n - k + 1;//要移动的次数
	for (int i = 1; i <= s; i++) {
		int maxnum,minnum;
		for(int j=1;j<=k;j++){
			huanchun[j]=mem.front();
			mem.pop_front();
		}
		maxnum=huanchun[1],minnum=huanchun[1];
		for(int j=2;j<=k;j++){
			maxnum=max(huanchun[j],maxnum);
			minnum=min(huanchun[j],minnum);
		}
		ans1[len]=minnum;
		ans2[len]=maxnum;
		len++;
		for(int j=k;j>=2;j--){
			mem.push_front(huanchun[j]);
		}
	}
	for (int i = 1; i <= len - 1; i++) {
		cout << ans1[i] << " ";
	}
	cout << endl;
	for (int i = 1; i <= len - 1; i++) {
		cout << ans2[i] << " ";
	}
	return 0;
}
2024/1/3 13:00
加载中...