博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
滑动最小值
阅读量:6431 次
发布时间:2019-06-23

本文共 1105 字,大约阅读时间需要 3 分钟。

问题 B: 滑动最小值

时间限制: 1 Sec  内存限制: 128 MB
提交: 127  解决: 27
[] [] [] [命题人:]

题目描述

给定一个长度为 n 的数列 a
0,a
1,,⋯,a
n−1和一个整数k。求数列 b
i=min(a
i,a
i+1 ,⋯,a
i+k−1)(i∈[0,n))。
特别的,对于 i>n−k 的 b
i=0。

 

输入

第一行两个正整数n,k。
第二行n个正整数a。

 

输出

n个数b。

 

样例输入

复制样例数据

5 21 2 3 4 5

样例输出

1 2 3 4 0

 

提示

对于100%的数据,n≤1000000。

#include
#define REP(i, a, b) for(int i = (a); i <= (b); ++ i)#define REP(j, a, b) for(int j = (a); j <= (b); ++ j)#define PER(i, a, b) for(int i = (a); i >= (b); -- i)#define REP(i, a, b) for(int k = (a); k <= (b); ++ k)using namespace std;template
inline void rd(T &ret){ char c; ret = 0; while ((c = getchar()) < '0' || c > '9'); while (c >= '0' && c <= '9'){ ret = ret * 10 + (c - '0'), c = getchar(); }}const int maxn=1e2+6;int n,a[maxn],k,b[maxn];int p[maxn];int main(){ rd(n),rd(k); for(int i=0;i
=a[i]) tail--; p[tail++]=i; if(i-k+1>=0) { b[i-k+1]=a[p[head]]; if(p[head]==i-k+1) head++; } } for(int i=0;i

 

转载于:https://www.cnblogs.com/czy-power/p/10463066.html

你可能感兴趣的文章
Leetcode Find Minimum in Rotated Sorted Array
查看>>
Python接口测试-使用requests模块发送post请求
查看>>
System.currentTimeMillis()计算方式与时间的单位转换
查看>>
Extra:Variable Types
查看>>
js传参时,没有参数传入,默认值的设置
查看>>
ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程Thread中委托的使用(六)...
查看>>
最新整理知识结构图
查看>>
linux安装mysql
查看>>
flask 2 进阶
查看>>
sentences in movies and teleplays[1]
查看>>
【20181023T1】战争【反向并查集】
查看>>
win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
查看>>
iOS9 未受信任的企业级开发者
查看>>
paper 40 :鲁棒性robust
查看>>
优化MySchool数据库(事务、视图、索引)
查看>>
使用笔记:TF辅助工具--tensorflow slim(TF-Slim)
查看>>
大话设计模式读书笔记3——单例模式
查看>>
实验三
查看>>
Vue 项目构建
查看>>
[Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置
查看>>