当前位置:首页 > Windows程序 > 正文

poj2823Sliding Window

2024-03-31 Windows程序

#include<iostream> #include<cstdio> using namespace std; int n,k,a[1000005],mx[1000005],mn[1000005]; int main() { scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } int l=0,r=0; for(int i=1;i<=n;i++) { while(l<=r&&a[i]<=a[mn[r]])r--; mn[++r]=i; while(l<r&&mn[r]-mn[l]>=k)l++; if(i>=k)printf("%d ",a[mn[l]]); } l=0;r=0; printf("\n"); for(int i=1;i<=n;i++) { while(l<=r&&a[i]>=a[mx[r]])r--; mx[++r]=i; while(l<r&&mx[r]-mx[l]>=k)l++; if(i>=k)printf("%d ",a[mx[l]]); } return 0; }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/34776.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494589访问次数
  • 建站天数
  • 友情链接