rt
P1440 求m区间内的最小值
我用的一个STL双向队列,但是RE了!!!
如图
代码如下
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[3000005],f[3000005];
deque<long long>q;
int main(){
q.clear();
cin>>n>>m;
for(int i = 1;i <= n;i ++){
scanf("%d",&a[i]);
}
cout<<0<<endl;
q.push_back(1);
for(int i = 2; i <= n;i ++){
printf("%lld\n",a[q.front()]);
while(i - q.front() + 1 > m && !q.empty()){
q.pop_front();
}
while(a[i] < a[q.back()] && !q.empty()){
q.pop_back();
}
q.push_back(i);
}
return 0;
}
求助dalao!!!
QwQ
如果能说明一下其他STL的数组范围就更好啦!