90分求调 P1886

灌水区

看上去没问题啊,就是马蜂奇特了点。
by Igallta @ 2024-04-27 20:11:16


@[fuxuanshuo](/user/727172) 找到原因了,改成这样就 A 乐: ```cpp #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int N=2e6+10; vector <ll> mi; vector <ll> mx; deque <ll> q1; deque <ll> q2; ll n,k,a[N]; int main() { cin>>n>>k; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) { if(!q1.empty()&&i-k+1>q1.front()) q1.pop_front(); if(!q2.empty()&&i-k+1>q2.front()) q2.pop_front(); while(!q1.empty()&&a[i]>a[q1.back()]) q1.pop_back(); while(!q2.empty()&&a[i]<a[q2.back()]) q2.pop_back(); q2.push_back(i); q1.push_back(i); if(i>=k) { mx.push_back(a[q1.front()]); mi.push_back(a[q2.front()]); } } for(auto i:mi) { cout<<i<<" "; } cout<<endl; for(auto i:mx) { cout<<i<<" "; } return 0; } ```
by Igallta @ 2024-04-27 20:13:55


您为什么要先给队列 push 一个 1 然后从 2 开始,您怎么保证第一个一定是 1?
by Igallta @ 2024-04-27 20:14:36


给我一个关注吧~
by Igallta @ 2024-04-27 20:16:06


@[Iam_God](/user/813622) 谢谢你!!
by Nake_fu @ 2024-04-28 12:38:22


|