1 条题解
-
0
#include<bits/stdc++.h> using namespace std; void read(int &h){ char o; int x=0,y=1; o=getchar_unlocked(); while(!(o<='9'&&o>='0')){ if(o=='-'){ y=-1; } o=getchar_unlocked(); } while(o<='9'&&o>='0'){ x*=10; x+=o-'0'; o=getchar_unlocked(); } h=x*y; return ; } const int N=1e6+10; int a[N],q[N]; int n,k,l,r; int main(){ ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr); read(n);read(k); for(int i=1;i<=n;i++){ read(a[i]); } for(int i=1;i<=n;i++){ while(l<r&&q[l]+k<=i){ l++; } while(l<r&&a[q[r-1]]<a[i]){ r--; } q[r]=i; r++; if(i>=k){ cout<<a[q[l]]<<"\n"; } } return 0; }
- 1
信息
- ID
- 6082
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 5
- 标签
- 递交数
- 10
- 已通过
- 10
- 上传者