C++20 会像 CSP-J T3 那样“短路”吗?如果会,那么请问以下这段单调队列的模板为什么会 RE?
#include<bits/stdc++.h>
using namespace std;
int n,k,a[200005];
deque<int>deqmin,deqmax;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
{
while(!deqmin.empty()&&a[i]<a[deqmin.back()])
deqmin.pop_back();
deqmin.push_back(i);
if(i>=k)
{
while(!deqmin.empty()&&deqmin.front()<i-k+1)
deqmin.pop_front();
cout<<a[deqmin.front()]<<" ";
}
}
cout<<"\n";
for(int i=1;i<=n;i++)
{
while(!deqmax.empty()&&a[i]>a[deqmax.back()])
deqmax.pop_back();
deqmax.push_back(i);
if(i>=k)
{
while(!deqmax.empty()&&deqmax.front()<i-k+1)
deqmax.pop_front();
cout<<a[deqmax.front()]<<" ";
}
}
return 0;
}