oj 小黑熊偷玉米

Description

小黑熊的邻居bob 家里种了好多玉米,玉米是排成一条线 ,贪吃的小黑熊想去偷一个玉米,但是bob家的玉米实在是太多了,所以小黑熊决定选择一个区间[l,r]去偷,因为小黑熊的幸运数是k,所以它决定就去偷在它选择的区间里第k大的一个玉米。
现在请你帮助小黑熊计算一下它将偷的玉米有多大吧

Input

第一行包含一个数n(n<=1000),表示玉米的总个数。
第二行包含n个正整数(每个数不超过10的6次方),表示每个玉米的大小。
第三个包含一个正整数m(m<=1000),表示询问个数。
接下来m行,每行三个数l,r,k(k<=(r-l+1)),代表上面的所涉及的元素,表示询问序列从左往右第l个数到第r个数中,从大往小第k大的玉米是哪个。序列元素从1开始标号。

Output

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

Sample Input

5
1 2 3 4 5
2
1 5 2
2 3 2

Sample Output

4
2

HINT

AC代码:
#include <iostream>
#include <cmath>
#include <cstdio>
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include <cstring>
#define MAXN 1000
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[n],i,m;
    i=0;
    while(i<n){
        cin>>a[i++];
    }
    cin>>m;
    int l,r,k,j,t;
    while(m){
        cin>>r>>l>>k;
        int b[l-r+1];
        for(i=r-1,j=0;i<l;j++,i++)
            b[j]=a[i];
            t=l-r+1;
        sort(b,b+l-r+1);
        cout<<b[t-k]<<'\12';
        m--;
    }
    return 0;
}
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值