| 
            
            
             
              #include <stdio.h> #include <stdlib.h> #include <string.h>
  typedef struct {     int l;     int r;     int K; } QUERY;
  void query(QUERY *q, int *nums) {     int i, j, temp;     int n = q->r - q->l + 1;     int *sec = (int *)malloc(n * sizeof(int));     memcpy(sec, nums + q->l - 1, n * sizeof(int));     for (i = 0; i < n; i++)     {         for (j = 0; j < n - i - 1; j++)         {             if (sec[j] < sec[j + 1])             {                 temp = sec[j];                 sec[j] = sec[j + 1];                 sec[j + 1] = temp;             }         }     }     printf("%d\n", sec[q->K - 1]);     free(sec); }
  int main() {     int i, m, n, *nums;     QUERY *qs;     scanf("%d", &n);     nums = (int *)malloc(n * sizeof(int));     for (i = 0; i < n; i++)         scanf("%d", nums + i);          scanf("%d", &m);     qs = (QUERY *)malloc(m * sizeof(QUERY));     for (i = 0; i < m; i++)         scanf("%d%d%d", &qs[i].l, &qs[i].r, &qs[i].K);              for (i = 0; i < m; i++)         query(qs + i, nums);          free(qs);     free(nums);     return 0; }             
                       |