#include<stdio.h> #include<stdlib.h> typedef struct ele { int pos; int num; } Ele; int cmp(const void * a, const void * b) { Ele* e1 = (Ele *)a; Ele* e2 = (Ele *)b; return e1->num - e2->num; } int main() { int n = 0; while (scanf("%d", &n) != EOF) { Ele* eles = (Ele *)malloc(sizeof(Ele) * n); for (int i = 0; i < n; ++i) { eles[i].pos = i + 1; scanf("%d", &eles[i].num); } qsort(eles, n, sizeof(eles[0]), cmp); int q = 0; scanf("%d", &q); int l = 0, r = 0; while (q-- > 0) { scanf("%d %d", &l, &r); for (int i = 0; i < n; ++i) if (eles[i].pos <= r && eles[i].pos >= l) { printf("%d\n", eles[i].num); break; } } } } |
Double click to view unformatted code.