为什么别的点过了#2RE了?数组也没开小吧?不知道自己犯了什么蠢问题求神犇解答
代码
#include<bits/stdc++.h>
using namespace std;
const int MN=1e6+10;
deque<int> ma;
deque<int> mi;
int a[MN],n,k;
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(mi.front()==i-k){
mi.pop_front();
}
while(!mi.empty() && a[i]<a[mi.back()]){
mi.pop_back();
}
mi.push_back(i);
if(i>=k){
cout<<a[mi.front()]<<" ";
}
}
cout<<endl;
for(int i=1;i<=n;i++){
if(ma.front()==i-k){
ma.pop_front();
}
while(!ma.empty() && a[i]>a[ma.back()]){
ma.pop_back();
}
ma.push_back(i);
if(i>=k){
cout<<a[ma.front()]<<" ";
}
}
return 0;
}