oj 小黑熊偷玉米

来源:互联网 发布:懒懒淘宝客助手官网 编辑:程序博客网 时间:2024/06/03 00:45

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

51 2 3 4 521 5 22 3 2

Sample Output

42

HINT

AC代码:
#include <iostream>#include <cmath>#include <cstdio>#include <algorithm>#include <cctype>#include <cstdlib>#include <cstring>#define MAXN 1000using 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
原创粉丝点击