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