deque 玄学问题求dalao帮忙
查看原帖
deque 玄学问题求dalao帮忙
924484
looloa楼主2023/6/30 23:06

贴代码

#include <iostream>
#include <deque>

#define N 1000000


using namespace std;


deque <int> dq;
int n, k, arr[N];

int main(){
	cin >> n >> k;
	
	for(int i=1; i<=n; i++) cin >> arr[i];
	
	for(int i=1; i<=n; i++){
		if(dq.front()<i-k+1) dq.pop_front();
		
		while(!dq.empty()) if(arr[dq.back()]>arr[i]) dq.pop_back();
						   else break;
		dq.push_back(i);
		if(dq.back()>=k) cout << arr[dq.front()] << ' '; 
	}
	
	dq.clear();
	cout << endl;
	
	for(int i=1; i<=n; i++){
			if(dq.front()<i-k+1) dq.pop_front();
			
			while(!dq.empty()) if(arr[dq.back()]<arr[i]) dq.pop_back();
						   	   else break;
			dq.push_back(i);
			if(dq.back()>=k) cout << arr[dq.front()] << ' '; 
		}
}

奇怪的是, RE on #3, 但下载数据后在本地IDE测试可以正常输出, 在洛谷IDE上则会报错, 这是为什么?是因为IDE对于程序的编译不一样吗?求dalao解惑, 本人感激不尽!

2023/6/30 23:06
加载中...