同样都是队列 为什么我超时???

P2032 扫描

这个怎么可能不超时间。。 我~~tmd~~线段树都~~tmd~~超时了
by Shirο @ 2018-11-05 12:55:45


@[chiaren](/space/show?uid=63941) ~~不知道为啥我单调队列用stl没开O2优化居然过了~~,可能是今天脸好? ``` #include<iostream> #include<cstdio> #include<queue> using namespace std; const int maxn=2e6+100; struct node{ int v,num; }; deque<node> q; int n,k,a[maxn]; int main(){ cin>>n>>k; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); node r; r.num=i;r.v=a[i]; while(!q.empty() && a[i]>=q.back().v){ q.pop_back(); } q.push_back(r); while(i-k>=q.front().num){ q.pop_front(); } if(i>=k){ printf("%d\n",q.front().v); } } return 0; } ```
by 靛涟 @ 2018-11-05 15:11:43


|