zoukankan      html  css  js  c++  java
  • 【POJ】2823 Sliding Window

     1 #include<cstdio>
     2 #define MAXN 1000010
     3 int a[MAXN],q[MAXN];
     4 int main()
     5 {
     6     int n,k,i,j,front,rear;
     7     while(~scanf("%d%d",&n,&k))
     8     {
     9         for(i=1;i<=n;i++)
    10             scanf("%d",&a[i]);
    11         front=0;
    12         rear=-1;
    13         for(i=1;i<=k;i++)
    14         {
    15             for(;front<=rear&&a[q[rear]]>=a[i];rear--);
    16             q[++rear]=i;
    17         }
    18         printf("%d",a[q[front]]);
    19         for(j=1;i<=n;i++,j++)
    20         {
    21             if(front<=rear&&q[front]<=j)
    22                 front++;
    23             for(;front<=rear&&a[q[rear]]>=a[i];rear--);
    24             q[++rear]=i;
    25             printf(" %d",a[q[front]]);
    26         }
    27         putchar('\n');
    28         front=0;
    29         rear=-1;
    30         for(i=1;i<=k;i++)
    31         {
    32             for(;front<=rear&&a[q[rear]]<=a[i];rear--);
    33             q[++rear]=i;
    34         }
    35         printf("%d",a[q[front]]);
    36         for(j=1;i<=n;i++,j++)
    37         {
    38             if(front<=rear&&q[front]<=j)
    39                 front++;
    40             for(;front<=rear&&a[q[rear]]<=a[i];rear--);
    41             q[++rear]=i;
    42             printf(" %d",a[q[front]]);
    43         }
    44         putchar('\n');
    45     }
    46     return 0;
    47 }
  • 相关阅读:
    案例分析
    阅读任务
    准备工作
    课程总结
    十三周总结
    第十二周总结
    第十一周学习总结
    第十周学习总结
    第九周课程总结&实验报告7
    第八周课程学习总结与实验6
  • 原文地址:https://www.cnblogs.com/DrunBee/p/2590991.html
Copyright © 2011-2022 走看看