最最基础的单调队列题目。一个单增一个单减。还是可以借此好好理解一下单调队列的。

 #include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std; #define maxx 1000005 int num[maxx], inque[maxx], dque[maxx], maxn[maxx], minn[maxx];
int pre1, pre2, lst1, lst2;
int n, k; int main() {
while(~scanf("%d%d", &n, &k)) {
pre1 = , pre2 = , lst1 = , lst2 = ;
int cnt = ;
for (int i=; i<n; ++i) {
scanf("%d", &num[i]);
// 单增
while(pre1 < lst1 && num[inque[lst1-]] > num[i])
lst1--;
while(pre2 < lst2 && num[dque[lst2-]] < num[i])
lst2--;
inque[lst1++] = i;
dque[lst2++] = i;
while(pre1 < lst1 && i - inque[pre1] + > k)
pre1++;
while(pre2 < lst2 && i - dque[pre2] + > k)
pre2++;
if (i + >= k) {
maxn[cnt] = num[inque[pre1]];
minn[cnt] = num[dque[pre2]];
cnt++;
}
}
for (int i=; i<cnt-; ++i) {
printf("%d ", maxn[i]);
}
printf("%d\n", maxn[cnt-]);
for (int i=; i<cnt-; ++i) {
printf("%d ", minn[i]);
}
printf("%d\n", minn[cnt-]);
}
return ;
}

最新文章

  1. Linux 系统查看物理内存使用率的命令脚本,以百分比形式输出。
  2. Linux磁盘空间监控告警
  3. 修复 XE8 Win 平台 Firemonkey Memo 卷动后会重叠的问题
  4. 如何删除或重置spfile中的参数
  5. Python面试题库
  6. 【UFLDL】Exercise: Convolutional Neural Network
  7. 《易货》Alpha版本项目展示
  8. javascript默认中文(汉字/标点)长度均为1的解决
  9. iOS app闪退的一般原因
  10. ubuntu16.04安装kde桌面出错: /var/cache/apt/archives/kde-config-telepathy-accounts_4%3a15.12.3-0ubuntu1_amd64.deb
  11. MPICH3.2 单机编译、安装及测试
  12. 初窥GPFS文件系统
  13. 2、Libgdx配置你的开发环境(Eclipse,Intellij IDEA,NetBeans)
  14. MySQL8主从配置
  15. 关于IDEA每次修改HTML,Css等静态资源文件都需要重启的设置修改
  16. WEB开发库收集
  17. jmeter---将回应数据写入到文件
  18. python找包的路径(找不到自定义包的问题解决)
  19. 菜鸟学SSH(五)——Struts2上传文件
  20. POJ P3667 Hotel——solution

热门文章

  1. Python总结篇——知识大全
  2. 从零开始写JavaWeb框架(第一章节)
  3. 【新业务搭建】竞争情报业务规划及体系构建的思考——By Team
  4. 005-线程sleep、join、yield、wait、notify、notifyAll、run、start、synchronized
  5. SLAM FOR DUMMIES 第5-8章 中文翻译
  6. idea中添加模板。
  7. java多线程(六)
  8. Django小项目简单BBS论坛
  9. fatal error C1010: unexpected end of file while looking for precompiled header directive
  10. ZOJ Monthly, January 2019