贴代码
#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解惑, 本人感激不尽!