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