算法训练 区间k大数查询

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 int main()
 6 {
 7     int a[1010],b[1010];
 8     int n,m,l,r,k,i,j;
 9     while(~scanf("%d",&n))
10     {
11         for(i=1;i<=n;i++)
12         {
13             scanf("%d",&a[i]);
14         }
15         scanf("%d",&m);
16         while(m--)
17         {
18             int jj=1;
19             scanf("%d%d%d",&l,&r,&k);
20             for(i=l;i<=r;i++)
21                 b[jj++]=a[i];
22             int s=r-l+1;
23             sort(b+1,b+s+1);
24             printf("%d
",b[s-k+1]);
25         }
26         
27         
28     }
29 } 
View Code

多写,少看。

原文地址:https://www.cnblogs.com/WDKER/p/5149937.html