算法训练(1)——区间k大数查询

本文记录了作者参加蓝桥杯比赛的练习过程,分享了一道关于查询序列中第l到第r个数第K大的数的问题。文章按照固定的结构介绍了问题描述、输入输出格式、样例及数据规模,并给出了使用C++实现的核心代码,通过创建临时数组排序后找出答案。
摘要由CSDN通过智能技术生成

写在开头

由于学业及等等各种复杂原因,10月份起就没有更新博客了。曾经有梦想参加ACM的,无奈没有环境和队友。今年学校第一年参与蓝桥杯,抱着试一试玩一玩的心态报了名。报名到现在也有一段时间了,已经练了一些题目了,打算把这个过程记录下来,方便以后查阅,也欢迎大家留言交流。

之前没有完成的系列文章可能得往后延了,但是等眼前一系列事情告一段落之后会续上的。

这一系列都是蓝桥杯的练习题,后面的文章都会尽量统一以“问题描述——输入格式——输出格式——样例输入——样例输出——数据规模与约定——解题思路——核心代码——注释”这样的结构来写。核心代码一律使用C++语言,main函数包括了输入输出流的重定向(方便调试而已)和对核心代码中TestXXX()函数的调用,就不放出来了。

问题描述

给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。

输入格式

第一行包含一个数n,表示序列长度。

第二行包含n个正整数,表示给定的序列。

第三个包含一个正整数m,表示询问个数。

接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。

输出格式

总共输出m行,每行一个数,表示询问的答案。

样例输入

5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值